Свойство [role] не существует в этом экземпляре коллекции после определенных отношений - PullRequest
0 голосов
/ 04 декабря 2018

Я пытаюсь загрузить все роли, которые принадлежат разрешению.$permissions = \App\Permission::with('roles')->get();

Когда я пытаюсь и return $permissions->roles; я получаю эту ошибку, хотя я уже установил соответствующие отношения:

Свойство [role] не существует вэта коллекция

Разрешение Модель Отношения

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
            }
         }
      ]
   }
]

Я не уверен, что здесь не так.

1 Ответ

0 голосов
/ 04 декабря 2018

Вам нужно перебрать роли разрешений.

foreach ($permissions as $permission) {
    return $permission->roles;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...