thinkphp5.1構建查詢數組,$where可以是二位數組或三維數組,
Db::table('think_user') ->where([ ['name', 'like', $name . '%'], ['title', 'like', '%' . $title], ['id', '>', $id], ['status', '=', $status], ]) ->select();
$map = [ ['name', 'like', 'thinkphp%'], ['title', 'like', '%thinkphp'], ['id', '>', 0], ]; Db::table('think_user') ->where([ $map ]) ->where('status',1) ->select();
發現構建查詢數組時,如果要指定數字下標,第一個下標必須是0,源碼 thinkphp\library\think\db\Builder.php 305行
if (key($value) !== 0) {
throw new Exception('where express error:' . var_export($value, true));
}