th v5.1.35 LTS 未定义数组下标: 1

浏览:1386 发布日期:2019/04/04 分类:系统代码 关键字: 未定义数组下标
传入二维数组到where函数里, 运行后,有一个错误提示 未定义数组下标: 1
版本:v5.1.35 LTS
        
//问题代码
$list = Orders::where([
            ['uid', 'neq', $uid],
            ['del_at', 'null']
        ])
            ->field('id,goods_id,need,over_at,created_at,uid')
            ->order('id', 'desc')->select();


//正常的代码
$list = Orders::where([
            ['uid', 'neq', $uid],
        ])->where('del_at', 'null')
            ->field('id,goods_id,need,over_at,created_at,uid')
            ->order('id', 'desc')->select();
可能的答案, where函数对二维数组的处理不当
经过仔细查找源代码 // \think\db\Builder::parseWhereItem函数内,有下面一句:
list($exp, $value) = $val;
//下面4行是测试打印结果
       var_dump($val);
        print_r($exp);
        print_r($value);
       echo("<br/>");
使用问题代码运行的结果array(2) { [0]=> string(3) "neq" [1]=> int(37) } neq37
array(1) { [0]=> string(4) "null" } null
评论( 相关
后面还有条评论,点击查看>>