Laravel 5 multiple select() in der Abfrage-generator
In laravel 5.1, will ich tun, wie
$myTable = MyTable->select('firstField');
if ($somethingTrue) {
$myTable->select('secondField');
}
$myTable->get();
wo ich will beide firstField & secondField ausgewählt werden.
Natürlich der code oben funktioniert nicht, d.h. nur die secondField ausgewählt ist, am Ende.
Gibt es eine Funktion, die query builder-Klasse, die genau das tun kann, was ich will?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, Sie können
addSelect()
Aus der Abfrage-generator-Dokumentation unter "Wählt":
Darüber hinaus die API-Dokumentation (als adaptiert an die schriftliche Dokumentation) können auch Schuppen zusätzliches Licht auf, welche Funktionen verfügbar sind, auf die Kern-Klassen.
Akzeptierte Antwort ist vermutlich eleganter, aber man könnte auch einfach ein array verwenden von Feldern für die select-Klausel.
mwallisch Antwort ist besser als angenommen, weil, wenn Sie mehrere Orte, wo man die Definition wählt dann
addSelect
wird nicht funktionieren.Beispielsweise folgenden code werfen Fehler:
während es getan werden kann, als: