Ich möchte alle Modelle abrufen, die keine Beziehung haben.Erhalte alle eloquenten Modelle ohne Beziehung
ähnliche Modelle zu holen, die man haben:
return $this->model->has('quote')->orderBy('created_at', 'desc')->get();
Ich würde im Grunde wie die Inverse dieses haben. Ich kann jedoch keine Dokumentation dafür finden.
Grundsätzlich ist diese Abfrage:
SELECT * FROM custom_design_requests
RIGHT JOIN quotes
ON quotes.`custom_design_request_id` = `custom_design_requests`.id
Aber ich möchte zu vermeiden, den Abfrage-Generator (DB::table('custom_design_requests')->rightJoin('quotes', 'quotes.custom_design_request_id', '=', 'custom_design_requests.id')->get();
), zu verwenden, so dass ich eine Sammlung von Instanzen des Modells habe.
Dank
Danke! Das hat den Trick gemacht, sollte das aber haben. :) –
Während die has() -Methode sehr einfach zu verwenden scheint, sollten Sie bedenken, was Eloquent intern macht, wenn Sie es anrufen. Die resultierende Abfrage führt einen Subselect für jeden Datensatz in Ihrer Datenbank aus, der möglicherweise nicht effizient ist, wenn Sie viele Daten haben. In dem obigen Fall wäre das resultierende SQL etwa wie folgt: SELECT * FROM-Modelle WHERE (SELECT COUNT (*) FROM zitiert WHERE model_id = models.id) <1 " –