1. 程式人生 > >thinkphp5 一個欄位對應多個模糊查詢

thinkphp5 一個欄位對應多個模糊查詢

 $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(*)'];