2009-09-30 50 views
0

Greetings,containsable on has many relationship

我試圖拆除在CakePHP中使用可包含查找返回的查詢。

例如我有2個模型,用戶和帖子。用戶hasMany Post。

現在,當我使用中可容納上找到調用就像這樣:

$User->id = 1; 
$User->find('first', array(
    'fields' => array('id'), 
    'contain' => array('Post') 
)) 

它不會返回相關的帖子,而不是隻會返回用戶的ID。

它的工作原理,但如果我試圖反過來取數據。 即這個工程:

$Post->find('first', array(
     'fields' => array('id', 'user_id'), 
     'conditions' => array('Post.user_id' => 1), 
     'contain' => array('User') 
    )) 

這並不:

$Post->find('first', array(
     'fields' => array('id'), 
     'conditions' => array('Post.user_id' => 1), 
     'contain' => array('User') 
    )) 

從返回的值,那麼我想,對於中容納到作品中,外鍵必須是在田間地頭。

那麼我怎麼能夠在第一次調用時過濾出用戶字段,因爲用戶關聯存儲在Post.user_id中?

任何幫助,非常感謝!謝謝。

-aw

+0

不郵政通過belongsTo用戶?也許你需要定義兩個方向上的關係,以便一切工作。 – 2009-09-30 13:28:24

+0

@deceze我試着設置遞歸到9999(我知道2是足夠的,但幽默我)。但它不會給我相關的帖子,如果我不把字段規範放在那裏,它會起作用。 i。 e find('all',array('contains'=>'Post'))。 但我需要實際篩選出用戶的字段。 – 2009-10-01 01:34:48

+0

你可以發佈代碼來演示如何定義你的用戶模型的$ hasMany數組嗎? – 2009-10-02 04:40:16

回答

1

正如larryb82說你需要定義,以便從用戶模式

用戶有很多文章檢索帖子數據在兩個方向上的關係。 一個帖子屬於一個用戶

CakePHP Doc example

相關問題