傳回一個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 = Team::query()
->where('user_id', $user->id)
->get();
$jobs = Job::query()
->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
{
return [
'name' => $user->name,
'teams' => TeamResource::collection($this->teams),
'jobs' => JobResource::collection($this->jobs),
];
}
</code></pre>
<p>我一直遇到一個問題,就是;</p>
<pre class="brush:php;toolbar:false;">Property [jobs] does not exist on this collection instance.</pre>
<p>我覺得我可能做得很不對。 </p>
JsonResource建構函式只接受一個參數。您應該在使用者模型內建立Teams和Jobs的關聯關係,然後在資源中呼叫$user->teams和$user->jobs。
#