thinkphp的where 之 or的使用
需要生成
SELECT * FROM `goods` WHERE ( `goodstype_id` = 2 or `goodstype_id` = 3 )
$where['goodstype_id'] = [ ['=','3'], ['=',4] ,'or'];
Goods::where($where)->all();
即
SELECT * FROM `goods` WHERE ( `goodstype_id` = 2 or `goodstype_id` = 3 )
$where = []; //查询条件 if(isset($_GET['goodstype_id'])&&$_GET['goodstype_id']!=''){ //父级分类应该包含子级分类的商品 $id = $_GET['goodstype_id']; $goodstype = Goodstype::get($id); //获得了父级分类的所有子集分类 $data = Goodstype::all(['path'=>['like','%'.$goodstype['path'].'%']]); /*$where['goodstype_id'] = $_GET['goodstype_id'];*/ /*$where['goodstype_id'][] = 'goodstype_id';*/ foreach ($data as $key => $value) { $where['goodstype_id'][] = ['=',$value['id']]; /*dump( $value['id']);*/ } $where['goodstype_id'][] = 'or'; print_r($where['goodstype_id']); }