我正在使用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