不多说,直接上代码,也不知道有没有更加优化的写法
$where = '1';
if($warehouse_sn) $where .= ' AND warehouse_sn LIKE \'%' .$warehouse_sn . '%\'';
if($ch_id>0) $where.= ' AND ch_id =\''.$ch_id.'\'';
if($s_id>0) $where.= ' AND s_id =\''.$s_id .'\'';
if($status>0) $where.= ' AND w_status =\''.$status .'\'';
if($start_time>0) $where.= ' AND order_time >\''.$start_time .'\'';
if( $end_time>0) $where.= ' AND order_time <\''. $end_time .'\'';
$conn = Db::table('warehouse')->whereRaw($where)->select();
其中需要注意的是$where ='1';是给SQL语句查询时当where不存在时,默认为真也就是查询所有条件。其二就是采用tp6得链式操作拼接SQL语句时是不需要where的,最最重要的一点就是拼接SQL语句时记得AND前面一定要有空格,不然会报错。
tp6多条件语句查询的编写
最新推荐文章于 2024-06-22 16:14:11 发布