3

我最近开始使用 Kohana,我知道继承目前处于起步阶段。解决方法是在子类模型上使用 $_has_one 注释。在可能的情况下,我将“页面”作为“文章”的父级。我有类似的东西,

protected $_has_one = array('mypage'=>array('model'=>'page', 'foreign_key'=>'id'));

在我的控制器中,我有一个查询数据库的操作。在这个查询中,我试图从“文章”的父级访问字段,即“页面”。

    $n->articles=ORM::factory('article')->where('expires','=',0)
        ->where('articledate','<',date('y-m-d'))
        ->where('expirydate','>',date('y-m-d'))
        ->where('mypage->status','=','PUBLISHED')
        ->order_by('articledate','desc')
        ->find_all();

状态列位于页表中,我的查询正在生成“找不到状态”的错误,显然是因为它属于父级。

有任何想法吗 ?

4

1 回答 1

2

可以这样使用

    $n->articles=ORM::factory('article')->with('mypage')
    ->where('expires','=',0)
    ->where('articledate','<',date('y-m-d'))
    ->where('expirydate','>',date('y-m-d'))
    ->where('status','=','PUBLISHED')

这会在两个一对一的表之间创建连接。

于 2010-06-02T15:01:07.890 回答