まず、テーブルは「work_order」(単数形)ではなく「work_orders」(複数形)である必要があります。モデルで指定する限り、大したことではありませんが、$useTable = "word_order";
命名規則では、テーブルは複数形である必要があります。
あなたは3つのことを扱っているだけで、新しいフィールドを継続的に追加することを期待していないので、あなたが言及した3つのフィールドを使用して完全に問題ありません(そしておそらく私がすることです):'created_by'、'requested_by'、 work_ordersテーブルの「owned_by」フィールド。
私の場合は、something_id
規則に従い、「creator_id」、「requester_id」、および「owner_id」を使用すると思います。いずれにせよ、それはあなた次第です。
次に、関連付けを設定するときに、これら3つのフィールドを使用して「ユーザー」モデルに関連付けます。頭のてっぺんから、次のようになります。
//WorkOrder model
public $belongsTo = array(
'Creator' => array(
'className' => 'User',
'foreignKey' => 'created_by' //could use 'creator_id' instead
),
'Requester' => array(
'className' => 'User',
'foreignKey' => 'requested_by' //could use 'requester_id' instead
),
'Owner' => array(
'className' => 'User',
'foreignKey' => 'owned_by' //could use 'owner_id' instead
),
);