У меня есть простая система отправки сообщений с возможностью добавления специальных полей к сообщениям в блоге (что-то вроде custom fields
в WordPress).Вот мои модели:
<?php
# Node.php
class Model_Node extends ORM
{
protected $_belongs_to = array('category' => array());
protected $_has_one = array('path' => array());
protected $_has_many = array('fields' => array());
(...)
}
# Field.php
class Model_Field extends ORM
{
protected $_belongs_to = array('node' => array());
(...)
}
?>
На данный момент, когда я загружаю Node
модель с factory()
, у меня нет прямого доступа к Fields
, связанному с моим Node
;мне нужно использовать $node->fields->find_all()
.Мне было интересно - есть ли возможность автоматически загружать связанные поля при запросе Node
из базы данных?
Допустим, я хочу использовать его таким образом:
<?php
$node = ORM::factory('node');
$nodes = $node->find(1);
// as you can see, i don't want to use separated query for getting `fields`.
foreach( $node->fields as $field )
{
echo $field->content;
}
?>
I 'Я видел, что я могу использовать $_load_with
свойство модели или ->with('fields')
, но эти два решения возвращают пустой результат.Есть ли у вас какие-либо советы для меня?:) Заранее спасибо!