我正在开发一个cakephp 2.x ..我的数据库中有两个表都有 userid 我正在使用 bindModel ..我的查询工作正常...我只有一个问题..我想在where子句中添加条件
**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 :(得分:0)
只需将条件分为两行,如:
'conditions' => array(
'Contact.user_id' => $userid,
'Message.user_id = Contact.user_id',
[...]
)
但更有意义的方法是保持绑定 - 毕竟绑定通常在消息用户和具有相同ID的联系用户之间 - 并在find('all')
中添加特定情况的条件与'Message.user_id' => $userid
。