Ich habe in ein Problem laufen, und es ist wirklich nur eine kleine Unannehmlichkeit, aber ...Laravel - zupfen Attribut mutierte
Im Grunde, was ich brauche, ist ein assoziatives Array für eine Auswahlbox. Normalerweise würde dies mit der Funktion pluck()
erreicht werden.
Das Problem ist, das Attribut, das ich als 'Text' verwenden möchte, existiert nicht tatsächlich in der Datenbank, es ist ein Mutator, der zwei Felder zu einem kombiniert.
public function getNameAttribute() {
return $this->first_name . ' ' . $this->last_name;
}
Ich weiß, dass das Hinzufügen von 'name'
Feld zum $appends
Array auf dem Modell wird das Feld enthält, wenn das Modell auf Array-Casting, aber dies scheint nicht mit pluck()
Gibt es eine einfache Art und Weise zu arbeiten, Will ich erreichen wollen? Funktion oder Deklaration fehlt mir? Alles, was eloquenter ist, als die Sammlung manuell zu durchlaufen und ein eigenes Associate-Array zu erstellen?
Aktualisieren Ich bin ein Idiot. Ich übergab ein Array zu pflücken statt zwei Parameter. Anscheinend verwendet Zupfen das $appends
Attribut. Beachten Sie, dies funktioniert nur bei der Arbeit mit Sammlungen $collection->pluck('mutatedValue', 'key');
NICHT der Abfrage-Generator $queryBuilder->pluck('mutatedValue', 'id');
Danke für die Hilfe, Leute.
Es stellte sich heraus, dass ich das doch nicht tun musste, aber +1 für eine etwas elegante Antwort. –