Ссылочная таблица с двумя разными внешними ключами на одну и ту же таблицу в Kohana ORM - PullRequest
1 голос
/ 28 августа 2009
table user:
|id|name|employee_priority_id|user_priority_id|
table priority:
|id|name|

Как видите, в одной таблице два внешних поля. Но по умолчанию Kohana ORM ищет поле с именем priority_id, которого не существует.

Есть ли способ сообщить Kohana ORM, что эти два поля являются внешним ключом этой таблицы.

1 Ответ

2 голосов
/ 14 сентября 2009

Вы можете использовать псевдонимы, как описано в документации * 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';
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...