我是Laravel的新手。我想从表中过滤用户。
1)第一张桌子'用户' Users table
2)第二个表'请求' Requests table
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)用户是我的主表,它与另外两个表以及请求表相结合,我想要存在于(requests.request_to_id)中的过滤用户(users.id)。我得到的空白屏幕什么都没有。
答案 0 :(得分:0)
在调用数据库后,就像你在这个例子中所做的那样:
DB::table('requests')
->where('request_by_id', '=', $my_id)
->value('request_to_id');
您必须在查询结尾添加->get()
,才能从数据库中获取值。