0

我有 3 个表:用户、mobile_users、油门。

  1. 用户:ID,电子邮件,密码,...
  2. mobile_users: id, user_id, ....
  3. 油门:id,user_id,禁止,...

这是我的代码:

$mobile_users = DB::table('mobile_users')
            ->join('users', 'mobile_users.user_id', '=', 'users.id')
            ->join('throttle', 'mobile_users.user_id', '=', 'throttle.user_id')
            ->where(function($where) use ($query) {
                $where->where('users.first_name', 'LIKE', "%$query%")
                    ->orWhere('users.last_name', 'LIKE', "%$query%");
            })
            ->select(
                'mobile_users.*',
                'users.*',
                'throttle.banned'
            )
            ->distinct()
            ->orderBy('mobile_users.created_at', 'DESC')
            ->paginate($limit);

这会返回一些内容为空的最后一页,我只是不知道为什么,some1 可以帮助我吗?

更新

这是 dd(DB::getQueryLog()) 时的结果:

从内部连接开始。= 。哪里。usersidthrottleuser_idgroupsidgroupsusers_groupsuser_idpivot_user_idusers_groupsgroup_idpivot_group_idgroupsusers_groupsgroupsidusers_groupsgroup_idusers_groupsuser_id= ?" ["bindings"]=> array(1) { [0]=> int(2) } ["time"]=> float(3) } [4]=> array(3) { ["query "]=> string(39) "select * from payback_configslimit 1" ["bindings"]=> array(0) { } ["time"]=> float(5) } [5]=> array(3) { ["query"]=> string(249) "从内部连接中选择 count( ) 作为聚合。= 。内连接上。= 。在哪里 ( . LIKE ? or . LIKE ?)" ["bindings"]=> array(2) { [0]=> string(2) "%%" [1]=> string(2) "%%" } ["time"]=> float(2) } [6]=> array(3) { ["query"]=> string(344) " 选择不同的。mobile_usersusersmobile_usersuser_idusersidthrottlemobile_usersuser_idthrottleuser_idusersfirst_nameuserslast_namemobile_users, users.*, throttle. bannedmobile_users内部连接users开始mobile_usersuser_id= usersid内连接throttlemobile_usersuser_id= throttleuser_id在哪里( .LIKE usersfirst_name或.LIKE ?)订购users。DESC 限制 3 偏移量 0" ["bindings"]=> array(2) { [0]=> string(2) "%%" [1]=> string(2) "%%" } ["time"] => 浮动(9) } }last_namemobile_userscreated_at

4

0 回答 0