thinkphp5 一個欄位對應多個模糊查詢
阿新 • • 發佈:2018-12-06
$condition['kname'] = array(array('like','%保健%'), array('like','%護膝%'), array('like','%保健護膝護腰護頸%'), 'or');
如果是動態的多個條件可以如下:
$condition['question'] = array('or'); foreach ($keyword as $value) { array_unshift( $condition['question'], array('like', '%'.$value.'%')); }
使用原生拼接,則如下,顯然沒有上述方法好
$sql = 'select count(*) from '.$item['table_name'].' where '; foreach ($keyword as $value) { $sql .= ' `question` like '.'"%'.$value.'%"'.' or'; } $sql = substr($sql, 0, -2); $sql.= ' and is_delete=0'; $item_total = Db::query($sql); $data[$key]['total'] = $item_total[0]['count(*)'];