2013-07-13 67 views
1

我在CakePHP的2.x的工作。我有我的數據庫中的兩個表都具有用戶ID我使用bindModel ..我的查詢工作正常。 ..我只是有一個問題..我想補充的條件WHERE子句CakePHP中連接兩個表使用bindModel方法CakePHP的

**where userid = $userid** 


function getMessages($userid){ 
    $this->bindModel(array(
     'belongsTo' => array(
     'Contact' => array(
      'className' => 'Contact', 
      'foreignKey' => false, 
      'conditions' => array(

       'Message.user_id = Contact.user_id', 
       'AND' => 
       array(
        array('OR' => array(
         array('Message.mobileNo = Contact.mobileNo'), 
         array('Message.mobileNo = Contact.workNo'), 

        )), 


       ) 


      ), 
      'type' => 'LEFT', 


     ) 
    ) 
), false); 

return $this->find('all', array('conditions' => array(), 
    'fields' => array('Message.mobileNo' 


    ), 
    'group' => 'Message.mobileNo', 
    'limit' => 6)); 


      } 

我得到的參數的用戶ID,所以,我想補充一點,得到以下的結果,其中

條件
message.userid and contact.userid = $userid ... 

回答

0

就分成兩行的條件,如:

'conditions' => array(
    'Contact.user_id' => $userid, 
    'Message.user_id = Contact.user_id', 
    [...] 
) 

但更有意義是離開綁定由於是方法 - 畢竟綁定通常是消息的用戶和聯繫人用戶使用相同ID之間 - 和請將您的find('all')中的特定情況的條件與'Message.user_id' => $userid相加。