thinkphp5.1 between的用法问题

浏览:11169 发布日期:2018/08/24 分类:ThinkPHP5专区 关键字: betweenbug tp5.1高级
$where = [];
        $where['username'] = 'sss';
        $where['create_time'] = ['between','11111,1111122'];

        $list = Db::table('mp_user')->where($where)->select();

// 结果却是这样的语句 
SELECT * FROM `mp_user` WHERE `username` = 'sss' AND `create_time` IN (0,11111)
下边这种写法不支持了 有更好的写法么 $where = [
        ['username','sss'],
        ['create_time','between','11111,1111122']
];
$list = Db::table('mp_user')->where($where)->select();
报错信息如下[8] ErrorException in Builder.php line 375
未定义数组下标: 1
    {
        // 字段分析
        $key = $field ? $this->parseKey($query, $field, true) : '';

        // 查询规则和条件
        if (!is_array($val)) {
            $val = is_null($val) ? ['NULL', ''] : ['=', $val];
        }

        list($exp, $value) = $val;

        // 对一个字段使用多个查询条件
        if (is_array($exp)) {
            $item = array_pop($val);

            // 传入 or 或者 and
            if (is_string($item) && in_array($item, ['AND', 'and', 'OR', 'or'])) {
                $rule = $item;
            } else {
最佳答案
评论( 相关
后面还有条评论,点击查看>>