1
table user:
|id|name|employee_priority_id|user_priority_id|
table priority:
|id|name|

ご覧のとおり、同じテーブルに 2 つの外部フィールドがあります。しかし、Kohana ORM のデフォルトでは、存在しない priority_id というフィールドが検索されます。

これら2つのフィールドがそのテーブルへの外部キーであることをKohana ORMに知らせる方法はありますか?

4

1 に答える 1

2

文書化されているように「エイリアシング」を使用できます@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';
}
于 2009-09-14T15:56:24.657 に答える