【发布时间】:2018-03-07 09:44:33
【问题描述】:
在Laravel 5.5 documentation 的条件关系下,它说
whenLoaded 方法可用于有条件地加载关系
我在我的代码中尝试过
public function toArray($request)
{
return [
'id' => $this->id,
'name' => $this->name,
'email' => $this->email,
'roles' => Role::collection($this->whenLoaded('roles')),
'remember_token' => $this->remember_token,
];
}
根据文档,角色键在发送到客户端之前完全从资源响应中删除,因为尚未加载关系。
如何加载关系?如何确定关系是否已加载?在这种情况下如何加载Role(模型)?
【问题讨论】:
-
据我了解,如果您通过
Model::with("roles")或$modelObject->load("roles")加载了关系,roles将被填充 -
你可以尝试创建角色资源。