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();
$teams = チーム::クエリ()
->where('user_id', $user->id)
->get();
$jobs = ジョブ::クエリ()
->where('user_id', $user->id)
->get();
return new DashboardResource($user, $jobs, $teams);
</code></pre>
<p>次にリソースに移動します</p>
<pre class="lang-php prettyprint-override"><code>public function toArray(Request $request): array
{
戻る [
'name' => $user->name,
'チーム' => TeamResource::collection($this->teams),
'jobs' => JobResource::collection($this->jobs),
];
}
</code></pre>
<p>問題が発生しました。</p>
<pre class="brush:php;toolbar:false;">プロパティ [jobs] はこのコレクション インスタンスに存在しません。</pre>
<p>私は何か間違ったことをしたのかもしれないと思います。 </p>
JsonResource コンストラクターはパラメーターを 1 つだけ受け入れます。ユーザー モデルでチームとジョブ間の関連付けを作成し、リソースで $user->teams と $user->jobs を呼び出す必要があります。