首页 > 解决方案 > Laravel:在多对多关系表上的集合中的 wherePivot 或 where 子句不起作用?

问题描述

我在角色和权限表之间有多对多的关系。我正在尝试获取 pivot.is_deleted = 0 的所有角色和权限。但是 where 子句似乎不起作用。我究竟做错了什么?

这个,我尝试了我的角色模型:

public function permissions()
    {
        return $this->belongsToMany(Permission::class,'permission_role','role_id','permission_id')->wherePivot('is_deleted', '=', 0);
    }

我在我的权限模型中做了同样的事情。

这是我在控制器中尝试过的:

$roles = Role::all();
dd($roles); //gives all data without filtering.

$roles= Role::where('is_deleted',0)->whereHas('permissions', function($query){
    $query->where('permissions.pivot.is_deleted', 0);
})->get();

标签: laravel-5eloquentrelationship

解决方案


推荐阅读