ТаблицыKohana ORM структуры и псевдоним неудачников
buildings (id)
contacts(id)
building_administrators (id, building_id, contact_id)
Модель
Model_Building {
protected $_has_many = array(
'administrators' => array(
'model' => 'Contact',
'through' => 'building_administrators',
'foreign_key' => 'building_id'
),
);
}
После quering $building->administrators->find_all();
я получаю ошибку: Unknown column 'building_administrators.administrator_id' in 'on clause' [ SELECT ..
Есть ли способ решить эту проблему?
Я могу решить это, переименовав псевдоним администратора в контакты, но тогда я должен запросить $building->contacts->find_all()
, и это не хорошо (может быть, у меня есть администраторы и брокеров, например).
Я также могу переименовать contact_id в administrator_id в таблице базы данных, но тогда структура DB неверна - у меня нет таблицы администраторов.
Попробуйте добавить ''far_key' => 'contact_id',' к массиву. Некоторая предыстория: 'foreign_key' - это имя ключа' $ this' объекта в описании отношения, 'far_key' - это ключевое имя, которое имеет внешний объект в отношении. – AmazingDreams
Отлично! Теперь .. как я могу дать вам свои баллы? – Bob0101
Я поставил свой комментарий в ответ;) – AmazingDreams