Php 如何使用like%%search通过包含多个值的数组查找字段
我正在尝试通过像%%search这样的搜索获得多个与这些ID(1、2、3)匹配的字段。 我已经试着让它工作了两个小时,但它没有工作,尽管它看起来很简单Php 如何使用like%%search通过包含多个值的数组查找字段,php,cakephp,find,Php,Cakephp,Find,我正在尝试通过像%%search这样的搜索获得多个与这些ID(1、2、3)匹配的字段。 我已经试着让它工作了两个小时,但它没有工作,尽管它看起来很简单 $ids = array ('1','2','3'); $result = $this -> Model -> find ('all', array( 'conditions' => array( 'Model.category LIKE' => '%'.$ids.'%') )); 我需要别人的帮助 见 只是一
$ids = array ('1','2','3');
$result = $this -> Model -> find ('all', array(
'conditions' => array( 'Model.category LIKE' => '%'.$ids.'%')
));
我需要别人的帮助 见
只是一个猜测,但不妨试试
'Model.category LIKE' => "%$ids%"
我建议您单独构建“条件”数组。例如:
$ids = array ('1','2','3');
$conditions = array();
foreach($ids as $id){
$conditions['OR'][] = array( 'Model.category LIKE' => '%'.$id.'%')
}
$result = $this->Model->find('all', array('conditions'=>$conditions));
我还没有测试过,但这应该可以
$ids = array(1, 2, 3);
$result = $this->Model->find('all', array(
'conditions' => array('Model.category'=>$ids ')
));
很抱歉迟了回复,谢谢你回答我的问题。只要我读了你的答案,尼克·辛格发布的答案是最有帮助的。然而,我想做的是搜索。所以我像贝娄一样改进了答案
$ids = array ('1','2','3');
$conditions = array();
foreach($ids as $id){
$conditions['AND'][] = array( 'Model.category LIKE' => '%'.$id.'%')
}
$result = $this->Model->find('all', array('conditions'=>$conditions));
再次感谢你的帮助 可能的重复项不会像搜索一样执行
$ids = array ('1','2','3');
$conditions = array();
foreach($ids as $id){
$conditions['AND'][] = array( 'Model.category LIKE' => '%'.$id.'%')
}
$result = $this->Model->find('all', array('conditions'=>$conditions));