我有以下查询应该找到:
我的代码是:
public function isFriend($userId, $friendId)
{
return $search = $this->Friend->find('first', array(
'conditions'=>array(
'OR' => array(
'AND'=>array(
'Friend.user_id'=>$userId,
'Friend.friend_id'=>$friendId
),
'AND'=>array(
'Friend.user_id'=>$friendId,
'Friend.friend_id'=>$userId
)
),
'AND' => array(
'Friend.status'=>1
)
)
)
);
}
然而它不起作用......我环顾四周似乎是在处理两个AND调用时正确地获取数组,但是我没有得到它。任何人都可以帮助我吗?
由于
答案 0 :(得分:2)
您不能使用相同的数组键两次,因此您必须将AND封装在单独的数组中
'OR' =>
array(
array('AND'=>array(
'Friend.user_id'=>$userId,
'Friend.friend_id'=>$friendId
)
),
array('AND'=>array(
'Friend.user_id'=>$friendId,
'Friend.friend_id'=>$userId
)
)
),
'AND' => array(
'Friend.status'=>1
)