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']);
        }

 

posted @ 2018-09-05 16:47  cl94  阅读(6129)  评论(0编辑  收藏  举报