thinkphp5.1 Array to string conversion问题 where express error:问题


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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM