我有一个简单的发布系统,可以在博客帖子中添加特殊字段(如wordpress中的custom fields
)。这是我的模特:
<?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;
}
?>
我已经看到我可以使用$_load_with
模型属性或->with('fields')
但这两个解决方案返回空结果。你有什么建议吗? :)提前致谢!