Okana orm псевдонимы и "пытаясь получить собственность не объекта"

StackOverflow https://stackoverflow.com/questions/2813722

  •  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, и оба будут иметь значения, которые существуют в пользователях.

Кажется, я пропустил эту линию :)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top