Notice how each reference is mirrored, so that other_field becomes the relationship key on the opposite object.
Alternatively, you can make any one of those (say, owner) a standard relationship. Ex: change the column from owner_id to user_id, and replace the whole owner with just user and ownedaccount with just account.
Finally, if you want to continue to use a dedicated join table, or these are not $has_one relationships, you need to set up a single accounts_users table with these columns (or you can mix-and-match):
Code:
* id
* owner_id
* ownedaccount_id
* creator_id
* createdaccount_id
* etc.
All columns are integers and must allow NULLs.
In other words, DMZ will always look for the same join table when relating two different objects, but use the column names generated from the related_field name.
Accessing those relationships are like normal, e.g. $account->canceler->get().