2013-12-14 38 views
1

與 「條件」如何查看不同的表格以查看頁面是否處於活動狀態?

一些困難我有一個表Tags與字段:id, name, count

我有表PagesTags與字段:id, page_id and tag_id

我有幾個字段的表頁:id, name, shownmenu, onilne.

在我的TagsController中,我有一個簡單的代碼來提取並顯示標籤

function tagsList(){ 
    //$this->loadModel('PageTag'); 
    return $this->Tag->find('all', 
array('order'=>'name ASC','conditions'=>array('Tag.count >= 0'))); 
} 

問題是,我不想顯示與脫機頁面關聯的標籤。

然後在我的aboce我應該使用somethink像$this->loadModel('PageTag');得到相關網頁的ID和第二$this->loadModel('Page');

讓頁面狀態'online' (true/false)

我們可以馬上做? 我該怎麼做? 我怎樣才能看到兩張桌子?

回答

0

您需要使用模型關係將模型鏈接在一起。閱讀有關它的手冊或在這裏看到我對這個問題的答案: CakePHP 1.3 - Unknown column in where clause

在你的情況,PagesTags hasOne Page和hasMany Tags。你將把這些關係寫入模型中。你也會寫入標籤模型,它有一個PagesTags,它將依次檢索關聯的頁面。

你已經做了這一切之後,你並不需要調用loadModel,你只要查詢標籤,它會隱含加入相關PagesTags和頁記錄,所以你可以把這個到您的條件:

'Page.status !=' => 'Offline' 
+0

感謝您的回答。我嘗試了一些,並在上面寫下了我的更改。這是行不通的。 – pierrot10