Sie übertreiben es!
Lassen Sie uns es brechen:
$submission->find($id);
Wird eine Instanz des Modells zurück, die mit dem Eintrag entspricht den Primärschlüssel $id
haben.
$submission->find($id)->first();
Dies ist eine unnötige Wiederholung; Die find
Methode gibt Ihnen bereits einen einzigen Eintrag, keine Notwendigkeit, first
darauf anzurufen.
$submission->find($id)->first()->with('user', 'clientform');
Hier beginnen Sie den falschen Weg; Beim Aufruf mit einem Modell transformiert Laravel dieses Modell erneut in einen Abfragegenerator, obwohl es bereits durch Aufruf von find
aufgelöst wurde.
$submission->find($id)->first()->with('user', 'clientform')->get();
Schließlich ist die get
Methode löst den Builder in eine Illuminate\Support\Collection
, unabhängig von der Anzahl der gefundenen Einträgen (d.h. es könnte ein Collection
von nur ein Element sein). Es ist jedoch erwähnenswert, dass Ihre Anfrage höchstwahrscheinlich vollständig durch einen Anruf zurückgesetzt wurde. Es wäre das gleiche wie ein neues Submission
Modell instanziieren und Ihre Abfrage damit aufbauen. Das bedeutet, dass Sie wahrscheinlich eine Sammlung von Ihre Einreichung Einträge verwenden, nicht nur die mit $id
.
Lange Rede kurzer Sinn, das ist, was Sie wollen:
$submission->with('user', 'clientform')->find($id);
Es wird die passenden $id
, mit den user
und clientform
Beziehungen eifrig belasteten holen.
Vielen Dank für die kurze Erklärung! Das hat alle meine Probleme gelöst. – AJStacy