我正在尝试构建一个包含详细信息的数组,以传递给仪表板资源,但在尝试将数据传递给资源时遇到了一些问题。
在我的控制器中,我正在构建查询,如下所示:
$user = auth()->user();
$teams = Team::query()
->where('user_id', $user->id)
->get();
$jobs = Job::query()
->where('user_id', $user->id)
->get();
return new DashboardResource($user, $jobs, $teams);
然后再资源中
public function toArray(Request $request): array
{
return [
'name' => $user->name,
'teams' => TeamResource::collection($this->teams),
'jobs' => JobResource::collection($this->jobs),
];
}
我一直遇到一个问题,就是;
Property [jobs] does not exist on this collection instance.
我觉得我可能做得很不对。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
JsonResource构造函数只接受一个参数。您应该在用户模型内创建Teams和Jobs的关联关系,然后在资源中调用$user->teams和$user->jobs。