【问题标题】:Laravel Eloquent Model Relationship with Condition in RelationshipLaravel Eloquent 模型关系与关系中的条件
【发布时间】:2020-10-26 18:28:39
【问题描述】:

你好 Laravel 爱好者,

我有用户表,RolesRoles_User

角色idrole_name

Roles_Useridrole_iduser_id

在我的控制器中我有这个

$users = User::all();
return view('admin.users.index', compact('users'));

如何在我的视图中显示角色名称为“admin”或“member”的所有用户

请帮助我构建模型和视图。

谢谢

【问题讨论】:

  • 您的问题需要更清楚。问一个具有预期结果的具体问题。分享你到目前为止尝试过的东西。没有人会为你编写整个代码。

标签: php mysql laravel eloquent relationship


【解决方案1】:

Stack Overflow 不是编码服务,您需要构建自己的视图。 Read here.

至于查询,很简单:

 $users = User::query()
              ->join('role_user', 'role_user.user_id', '=', 'users.id')
              ->join('roles', 'roles.id', '=', 'role_user.role_id')
              ->whereIn('roles.role_name', ['admin', 'member'])
              ->get();
 

如果您在模型中设置了关系,则可以执行以下操作:

$users = User::whereHas('roles', function ($query) {
             $query->whereIn('role_name', ['admin', 'member']);
         })->get();

【讨论】:

  • 抱歉,我不是说要构建视图。我可以做到,但我只是不知道如何在我的模型中使用雄辩的查询。非常感谢
猜你喜欢
  • 2021-07-04
  • 2016-02-26
  • 2016-02-21
  • 2014-11-15
  • 2017-03-21
  • 2021-10-01
  • 2018-10-20
  • 1970-01-01
  • 2014-11-22
相关资源
最近更新 更多