【问题标题】:How to get query of users in Laravel with where condition如何使用 where 条件查询 Laravel 中的用户
【发布时间】:2022-11-12 17:52:49
【问题描述】:

我有一个users 的表,在该表中,我有user_type_id 列,它与另一个名为user_types 的表相关。有特定的角色(订阅者和管理员)。现在,在我的控制器中,我想让所有用户的 user_type_id 等于 2。通过这种方式,我只得到第一行......

我的控制器:

public function show($id)
{
    $subscriber = User::where('user_type_id', 2)->firstOrFail();
    return view('show_subscriber', compact('subscriber'));
}

【问题讨论】:

    标签: php laravel roles


    【解决方案1】:

    public function show($id) {
        $subscriber = User::where('user_type_id', 2)->get();
        return view('show_subscriber', compact('subscriber'));
    }

    【讨论】:

      【解决方案2】:
      public function show($id) {
          $subscriber = User::where('user_type_id', 2)->firstOrFail();
          return view('show_subscriber', compact('subscriber'));
      }
      

      firstOrFail() 将返回第一个匹配记录,如果没有找到匹配记录,它将简单地返回 404- 找不到资源。

      public function show($id) {
          $subscriber = User::where('user_type_id', 2)->get();
          return view('show_subscriber', compact('subscriber'));
      }
      

      get() 将返回所有匹配的记录作为一个集合。

      在此处查看详细信息https://laravel.com/docs/9.x/eloquent#not-found-exceptions

      https://laravel.com/docs/9.x/eloquent#collections

      【讨论】:

      • 您最初的查询是您没有根据条件获得所有用户。如果您的刀片文件有问题,您需要共享该代码部分以获得帮助
      • 我得到:此集合实例上不存在属性 [名称]。
      猜你喜欢
      • 1970-01-01
      • 2021-09-18
      • 2014-10-04
      • 2015-09-26
      • 2021-12-02
      • 1970-01-01
      • 2015-06-25
      • 1970-01-01
      • 2016-10-19
      相关资源
      最近更新 更多