Попытка сделать модели в Кохане, проблема отношений - PullRequest
0 голосов
/ 15 июня 2010

У меня есть таблица Хитов, Статей и Категорий
Теперь, Хит принадлежит_ Статье / Категории (зависит от того, где это было сделано).
поэтому у меня есть столбец в таблице Hits с именем 'parenttype'
, который говорит мне 'Article' или 'Category'.
Я написал в модели Hit (расширяет ORM)

protected $_belongs_to= array(
    'page' => array('model'=> $this->parenttype)
    );

Теперь он жалуется, что $ this-> parenttype не ожидается?

Ответы [ 2 ]

1 голос
/ 16 июня 2010

вы должны объявить защищенную переменную $ _belongs_to = NULL;

и в конструкторе установить ее значение после вызова конструктора родительского класса

public function __construct() {
    parent::__construct();
    $this->_belongs_to = array('page' => array('model' => $this->parenttype));
}
0 голосов
/ 16 июня 2010

Как вы намереваетесь получить доступ к $ this, если объект вот-вот будет создан? (даже если бы вы могли, $ this-> parenttype определенно не был загружен до того, как отношения были)

Это означает, что вам нужно определить это отношение как-то иначе, чуть позже :) (Мне все еще не нравится, как ты это делаешь)

...