$map[] = ['id','>',0];
$map[] = ['sex',1];
$map[] = ['color','blue'];
Db::name('student')
->where($map)
->where(['name','like','%efs%'])
->select();
SELECT * FROM `student` WHERE `id` > 0 AND `sex` = 1 AND `color` = 'blue' AND 'name' LIKE '%efs%';
Db::name('student')
->where([$map])
->where(['name','like','%efs%'])
->select();
SELECT * FROM `student` WHERE ( `id` > 0 AND `sex` = 1 AND `color` = 'blue' ) AND 'name' LIKE '%efs%';
一般情况下,where()连缀生成的sql语句是并列AND条件的,当出现优先时,如上所示,如要优先查询$map中的条件再查询'name'条件,只需在where()中加入'[]'即可
著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:JefskyWong ——程序猿甜品店
链接:https://www.jefsky.com/blog/40
来源:https://www.jefsky.com/