Gibt es eine Möglichkeit, einfach Beziehung Wert in Laravel 5 zu bekommen? Hier ist ein Beispiel dafür, was ich brauche:Laravel erhalten verschachtelten Relation Wert
Ich habe Modell Book
und ich habe author
Beziehung Author
zu modellieren. Author
haben auch Beziehung country
zu Modell Country
. Ich muss auf der Buchseite den Ländernamen des Autors anzeigen. Ich kann einfach schrieb:
echo $model->author->country->name
Aber was ist, wenn ein Autor des Buches nicht zur Verfügung gestellt oder wir nicht Autor coutry? Ich werde eine Nachricht bekommen.
Also brauche ich zusätzliche checkings hinzuzufügen:
if ($model->author && $model->author->country) echo $model->author->country->name
Vielleicht eine Methode in Laravel existiert, der einen Wert vereinfachen bekommen? Vielleicht etwas wie SomeHelperClass::getValue($model, 'author.country.name')
, wenn also ein Teil der Kette null
ist, gibt die Methode auch null
zurück. Vielen Dank.
Warum nicht fügen Sie eine Methode $ Book-> country() auf das Buch waren es der Autor überprüft, ob existieren Rückkehr des Landes Namen, wenn Geben Sie keine Null oder leere Zeichenfolge zurück. Mit anderen Worten: Wickeln Sie die Logik des Abrufens des Ländernamens in dieser Methode –
@DavidLavieri, weil ich viele ähnliche Situationen habe und jede Prüfung in eine separate Methode einbetten, ist keine weise Entscheidung. – f0rtis
SomeHelperClass :: getValue ($ modell, 'author.country.name') wäre auch wrappers und überprüfen oder tatsächlich Abfragen der Datenbank hinter den Abdeckungen, wahrscheinlich noch chaotischer seit Laravel Abstraktionen sind so ... Abstracts –