laravel - 定义关系后,此集合实例上不存在属性 [roles]
问题描述
我正在尝试加载属于权限的所有角色。$permissions = \App\Permission::with('roles')->get();
当我尝试并return $permissions->roles;
收到此错误时,即使我已经设置了适当的关系:
此集合中不存在属性 [角色]
权限模型关系
public function roles()
{
return $this->belongsToMany(Role::class);
}
当我简单地return $permissions;
得到适当的输出时:
[
{
"id":1,
"name":"edit_post",
"label":"Edit Posts",
"created_at":null,
"updated_at":null,
"roles":[
{
"id":1,
"name":"admin",
"label":"Admin",
"created_at":null,
"updated_at":null,
"pivot":{
"permission_id":1,
"role_id":1
}
}
]
},
{
"id":2,
"name":"delete_post",
"label":"Delete Posts",
"created_at":null,
"updated_at":null,
"roles":[
{
"id":1,
"name":"admin",
"label":" Admin",
"created_at":null,
"updated_at":null,
"pivot":{
"permission_id":2,
"role_id":1
}
}
]
}
]
我不确定这里有什么问题。
解决方案
您需要遍历权限角色。
foreach ($permissions as $permission) {
return $permission->roles;
}
推荐阅读
- node.js - 当我在 mongodb findoneandupdate 中收到电子邮件(唯一)的重复密钥错误时,我想检查另一个字段
- postgresql - 如何解决 moddatetime 显然绕过列的精度?
- sql - 使用系统日期过滤
- php - 如何使用单个提交按钮插入 en 更新
- mongodb - 抑制 MongoDB Stitch 函数中的值类型
- python - 如何将默认值传递给要求命令行参数的子进程程序?
- ios - 在不使用 CAKeyframeAnimation 的情况下为路径旁边的视图设置动画
- javascript - 具有数据属性和父子关系的排序列表
- javascript - 您可以一次替换多个捕获的组吗?
- python - 没有 JSON 对象可以解码到 missingkids 网站