2013-07-12 12 views
5

ich eine Auswahlbox auf einem Formular haben, die Daten verwendet, die von einem Eloquent Modell (Laravel 4) aufgeführt ist:Add-Kästchen mit einer Eloquent Sammlung

$campuses = Campus::lists('name', 'id'); 

Und Form:

{{ Form::select('campus_id', $campuses) }} 

Allerdings hätte ich gerne die erste Option auf dem Formular sein Select..., so dass, wenn der Benutzer noch keine Option ausgewählt hat, die erste Option nicht zum Standard wird.

Wie kann ich eine andere Option am Anfang der Eloquent-Sammlung vorziehen?

Ich habe versucht, so etwas wie:

$campuses = array('Select...') . Campus::lists('name', 'id'); 

Antwort

9

Sie werden auch

$campuses = array('' => 'Select...') + Campus::lists('name', 'id'); 

dies tun könnte, wie ich es verwenden ist, die Summe 2 Arrays

+0

Es funktioniert nicht für Laravel 5.2 – Someone

+1

Ich denke, die Listen-Methode wurde zugunsten von 'pluck()' entfernt –

3

Sie 2 Arrays mit array_merge Funktion verschmelzen können.

So wird die Antwort

$campuses = array_merge(array('Select...'), Campus::lists('name', 'id'));

+0

D'oh! Perfekt, danke. – Dwight

+0

In der späteren Version müssen wir -> all() hinter dem :: list() -Argument hinzufügen. Weil Listen kein Array mehr zurückgeben, und das Hinzufügen von -> all() gibt sie im Array zurück, so dass wir array_merge verwenden können. –

Verwandte Themen