问题:想查询一个条件是orderstate in(5,6) or ( orderstate =1 and ordertechnicianopenid<> ‘’ ),最终解决方法如下:
//获取所有正在服务的技师
$wh1=[];
$wh1[]=['orderstate','in',[5,6]];
$whestr='orderstate =1 and ordertechnicianopenid is true ';
// $whestr=[
// 'orderstate'=>['=',1],
// 'ordertechnicianopenid'=>['<>',''],
// '_logic'=>'and'
// ];
// $whestr=[];
// $whestr[]=['orderstate','=','1'];
// $whestr[]=['ordertechnicianopenid','<>',''];
// $whestr[]=['_logic','=','and'];
$orderinfo=DB::name('order')->field('ordertechnicianopenid')
->where($wh1)
->whereor($whestr)
->select()->toArray();
//echo DB::name('order')->getLastSql();
$arr=array_column($orderinfo,'ordertechnicianopenid');