【问题标题】:Filter users in a table from another table in Laravel从 Laravel 中的另一个表中过滤一个表中的用户
【发布时间】:2017-02-15 13:03:27
【问题描述】:

我是 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) Users 是我的主表,它与另外两个表和 requests 表结合在一起,我想要过滤 (requests.request_to_id) 中存在的用户 (users.id)。我得到空白屏幕什么都没有。

【问题讨论】:

    标签: php mysql sql laravel laravel-5.3


    【解决方案1】:

    像你在这个例子中那样调用数据库之后:

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

    您必须在查询末尾添加->get(),才能从数据库中获取值。

    【讨论】:

    • 以及到这个结尾:DB::table('users')
    猜你喜欢
    • 2020-12-02
    • 1970-01-01
    • 1970-01-01
    • 2020-05-22
    • 2022-09-24
    • 2022-06-15
    • 2019-01-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多