Abfragen, die eine Laravel-Ressource zurückgeben, geben weiterhin einen 500-Fehler zurück.
P粉293341969
2023-07-27 10:11:11
<p>Ich versuche, eine Reihe von Details zu erstellen, die an eine Dashboard-Ressource übergeben werden sollen, aber beim Versuch, die Daten an die Ressource zu übergeben, treten einige Probleme auf. <br /><br />In meinem Controller baue ich die Abfrage wie folgt auf: <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>Gehen Sie dann zur Ressource</p>
<pre class="lang-php Prettyprint-override"><code>public function toArray(Request $request): Array
{
zurückkehren [
'name' => $user->name,
'teams' => TeamResource::collection($this->teams),
'jobs' => JobResource::collection($this->jobs),
];
}
</code></pre>
<p>Ich bin auf ein Problem gestoßen, das heißt;</p>
<pre class="brush:php;toolbar:false;">Property [jobs] existiert in dieser Sammlungsinstanz nicht.</pre>
<p>Ich glaube, ich habe etwas falsch gemacht. </p>
JsonResource构造函数只接受一个参数。您应该在用户模型内创建Teams和Jobs的关联关系,然后在资源中调用$user->teams和$user->jobs。