Laravel 리소스를 반환하는 쿼리는 계속 500 오류를 반환합니다.
P粉293341969
2023-07-27 10:11:11
<p>대시보드 리소스에 전달할 세부정보 배열을 작성하려고 하는데 데이터를 리소스에 전달하는 데 몇 가지 문제가 있습니다. <br /><br />내 컨트롤러에서는 다음과 같은 쿼리를 작성합니다. <br /></p>
<pre class="lang-php Prettyprint-override"><code>$user = auth()->user();
$팀 = 팀::쿼리()
->where('user_id', $user->id)
->get();
$jobs = 작업::query()
->where('user_id', $user->id)
->get();
새 DashboardResource($user, $jobs, $teams)를 반환합니다.
<p>그런 다음 리소스로 이동하세요</p>
<pre class="lang-php Prettyprint-override"><code>공개 함수 toArray(Request $request): 배열
{
반품 [
'이름' =>$사용자->이름,
'팀' => TeamResource::collection($this->팀),
'작업' => JobResource::collection($this->jobs),
];
}
<p>문제가 발생했습니다.</p>
<pre class="brush:php;toolbar:false;">[jobs] 속성이 이 컬렉션 인스턴스에 존재하지 않습니다.</pre>
<p>제가 뭔가 잘못한 것 같습니다. </p>
JsonResource 생성자는 하나의 매개변수만 허용합니다. 사용자 모델에서 Teams와 Jobs 간의 연결을 생성한 다음 리소스에서 $user->teams 및 $user->jobs를 호출해야 합니다.