webman中的think-orm 中的where写法存在问题

weywey

问题描述

webman中安装了thinkorm ,在后台列表查询过程中,我在组合查询条件时,发现有一些问题,使用以下写法后的查询语句存在一些问题:

以下是打印出来的代码语句:

SELECT * FROM `region` WHERE  `level` IN (=,2) LIMIT 0,50

这里就有些看不懂了

831 2 2
2个回答

weywey

新的写法,应该是tp自身更新过的原因:

public static function getList($param)
    {
        $filter = [];
        if (isset($param['name']) && $param['name']) {
            $filter[] = ['name','like', "%{$param['name']}%"];
        }
        if (isset($param['level']) && $param['level']) {
            $filter[] = ['level','=', $param['level']];
        }
        $data['data'] = Db::table('region')
            ->where($filter)
            ->page($param['page'], $param['limit'])
            ->fetchSql(true)
            ->select();
        var_dump($data['data']);
        $data['count'] = Db::table('region')
            ->where($filter)
            ->count();
        return $data;
    }
  • 暂无评论
yzh52521

tp-orm 从tp5.1就修改了where写法

  • weywey 2023-05-11

    好吧 目前还停留在5.0.24

年代过于久远,无法发表回答
×
🔝