Ich habe eine Fragetabelle und eine Tag-Tabelle. Ich möchte alle Fragen von den Umbauten einer gegebenen Fragen holen. So kann ich zum Beispiel die Tags "Reisen", "Züge" und "Kultur" an eine gegebene Frage angehängt haben. Ich möchte alle Fragen für diese drei Tags abrufen können. Das Schwierige, so scheint es, ist, dass die Beziehung zwischen Fragen und Tags ein Viele-zu-Viele ist, das in Eloquent definiert ist, wie es zu vielen gehört.Wie zwei eloquente Sammlungen zusammenführen?
Ich dachte daran, zu versuchen, die Fragen Kollektionen wie unten zu fusionieren:
foreach ($question->tags as $tag) {
if (!isset($related)) {
$related = $tag->questions;
} else {
$related->merge($tag->questions);
}
}
Es ist nicht zu funktionieren scheint aber. Scheint nichts zu verschmelzen. Versuche ich das richtig? Gibt es vielleicht auch einen besseren Weg, Zeilen in einer Viele-zu-Viele-Beziehung in Eloquent zu holen?
Haben Sie die Dokumentation über eifrig Laden und das mit Methode? Ihr Problem könnte mit einer besseren eloquenten Abfrage leicht gelöst werden. Sobald ich hinter einen Computer komme, schreibe ich ein Beispiel, es sei denn jemand schlägt mich dazu. – Luceos
@ Luceos 'mit' wird nicht helfen. Es ist 'whereHas', das benötigt wird - wie in der Antwort unten. –
ja, mein Fehler; Sie sind korrekt – Luceos