Okana orm псевдонимы и "пытаясь получить собственность не объекта"
-
26-09-2019 - |
Вопрос
У меня есть следующие таблицы в базе данных:
- Команды:
- я бы
- имя
- Спички:
- я бы
- Team1_id
- Team2_ID
Я определил следующее Омм Модели в моем Кохана V2.3.4 Применение:
class Match_Model extends ORM {
protected $belongs_to = array('team1_id' => 'team', 'team2_id' => 'team');
}
class Team_Model extends ORM {
protected $has_many = array('matches');
}
Следующий код в контроллере:
$match = ORM::factory('match',1);
echo $match->team1_id->name; /* <-- */
Выбрасывает следующую ошибку на Linke, отмеченную /* <--- */
:
Пытаясь получить собственность не объекта
Рамочная структура дает значение внешнего ключа вместо ссылки на экземпляр Match_Model, поскольку он должен (давать HAS_MANY и принадлежит ссылки на свойства).
Я что-то пропустил?
Примечание: на всякий случай, я добавил нерегулярное множественное число 'match' => 'matches'
В приложении / конфигурации / вскрытии.php
Решение
Решено! Сообщество Коханы дало мне отвечать:
Правильное значение для $ принадлежит имуществу:
class Match_Model extends ORM {
protected $belongs_to = array('team1' => 'team', 'team2' => 'team');
}
То документация утверждает это:
class Blog_Post_Model extends ORM { protected $belongs_to = array('author' => 'user', 'editor' => 'user'); }
Таблица базы данных Blog_Posts будет иметь 2 столбца, Blog_posts.author_id и blog_posts.editor_id, и оба будут иметь значения, которые существуют в пользователях.
Кажется, я пропустил эту линию :)