2010-06-02 81 views
3

我最近開始使用Kohana,我知道繼承現在處於嬰兒階段。解決方法是在子類模型上使用$ _has_one註釋。在可能的情況下,我有「頁」作爲「文章」的父母。我有這樣的事情,kohana的繼承

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(); 

狀態欄駐留在頁面表和我的查詢產生錯誤的「無法找到狀態」,顯然是因爲它屬於母公司的效果。

任何想法?

回答

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') 

哪創建兩個一對一表之間的聯接。