我正在使用LIKE
查询,但specialist_id
的订单更改时表示没有找到记录, 如果specialist_id
数组有[1,2,3],那么所有具有三种特色的用户应该在结果中无论顺序如何,顺序数组可能有[3,2,1]或[2,1,3],但具有这三种特色的用户应该在结果中,这里是我的代码,其中LIKE
查询:如何在cakephp中使用IN查询来查找多个值
$field = $this->User->find(
'all', array(
'conditions'=>array(
'User.specialist_id LIKE' =>'%'.$value.'%',
'User.role'=>'careproviderRole',
'User.gender'=>$this->request->data['gender'])
)
);
foreach ($field as $key => $value)
{
$field[$key]['Specialist'] = $user;
}
我也试图与FIND_IN_SET
:
$field = $this->User->find(
'all', array(
'conditions' => array(
'User.role' => 'careproviderRole',
'FIND_IN_SET(\''.$this->request->data['specialist_id'].'\', User.specialist_id)')
)
);
请澄清:是users.specialist_id字符串ORA整数?看起来你正在存储一个数组在你的领域。如果是这样,这是一个糟糕的数据库设计您应该创建一个表(即users_speciaists)来存储与每个用户关联的专家,以便您可以在查询 – arilia