table user:
|id|name|employee_priority_id|user_priority_id|
table priority:
|id|name|
ご覧のとおり、同じテーブルに 2 つの外部フィールドがあります。しかし、Kohana ORM のデフォルトでは、存在しない priority_id というフィールドが検索されます。
これら2つのフィールドがそのテーブルへの外部キーであることをKohana ORMに知らせる方法はありますか?
table user:
|id|name|employee_priority_id|user_priority_id|
table priority:
|id|name|
ご覧のとおり、同じテーブルに 2 つの外部フィールドがあります。しかし、Kohana ORM のデフォルトでは、存在しない priority_id というフィールドが検索されます。
これら2つのフィールドがそのテーブルへの外部キーであることをKohana ORMに知らせる方法はありますか?
文書化されているように「エイリアシング」を使用できます@http://docs.kohanaphp.com/libraries/orm/advanced#aliasingenhancing_the_meaning_of_your_relationships
したがって、あなたの場合、User_Modelは次のようになります。
class User_Model extends ORM {
protected $belongs_to = array('employee_priority' => 'priority', 'user_priority' => 'priority');
}
ところで、コハナの慣習によれば、$ table_nameをオーバーライドしない限り、テーブル名は複数形である必要があります。例:
class Priority_Model extends ORM {
protected $table_name = 'priority';
}