模型where闭包使用haswhere不起作用

浏览:1142 发布日期:2020/06/09 分类:ThinkPHP6专区 关键字: 模型 haswhere
由于业务需要,如果不传用户姓名,就是全部用户,如果传了用户姓名,需要去另一张用户实名表里关联查询数据,代码简化了下,大致是这样的self::where(function ($query) use ($param) {
            if (isset($param['true_name'])) {
                $query->hasWhere('userIdCard', function ($query) use ($param) {
                    $query->where('true_name', 'like', '%' . $param['true_name'] . '%');
                });
            }
        })
            ->fetchSql()
            ->select();
生成的sql语句是 SELECT * FROM `bi_user_account` WHERE  (  `UserIdCardModel`.`true_name` LIKE '%张三%' ) ORDER BY `id` DESC LIMIT 0,10,可以看到haswhere没起效果
最佳答案
评论( 相关
后面还有条评论,点击查看>>