从laravel中的另一个表中筛选表中的用户

wztqucjr  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(338)

我是拉雷维尔的新手。我想从表中筛选用户。
1) 第一个表“users”users表
2) 第二个表“请求”请求表
3) 我的控制器

public function search() 
  {

            $my_id= Auth::User()->id;
            $my_gender= Auth::User()->gender;

            $users = DB::table('users')
                      ->join('personal_info', 'users.id', '=', 'personal_info.user_id')
                      ->join('user_about', 'users.id', '=', 'user_about.user_id');
                                         ->join('requests', 'users.id', '=', 'requests.request_to_id');

            $users =  $users ->whereNotIn('users.id', [$my_id]);
            $users =  $users ->whereNotIn('users.gender', [$my_gender]);
            $users =  $users ->whereNotIn('requests.request_to_id', ['users.id']);
            $users =  $users ->paginate(7);

            return view('search',compact('users'));
     }

4) users是我的主表,它与另外两个表以及requests表结合在一起,我希望筛选(requests.request\ to\ u id)中存在的用户(users.id)。我的屏幕是空白的,什么都没有。

thtygnil

thtygnil1#

在像本例中那样调用数据库之后:

DB::table('requests')
                   ->where('request_by_id', '=', $my_id)
                   ->value('request_to_id');

你必须加上 ->get() 到查询结束时,从数据库中获取值。

相关问题