Erzeugen einer Dropdown-Listeneingabe mit Werten aus der DB-Tabelle

7

Ich versuche, eine Dropdown-Liste mit Werten aus einer MySQL-Tabelle mit Laravel zu generieren. Die Tabelle ist einfach, zwei Spalten - id und category .

Der folgende Befehl ruft alle Datensätze (Kategorien) ab, gibt aber ein Objekt und nicht ein Array zurück, was ich für den Dropdown-Code benötige -

%Vor%

Der Code für das Dropdown ist:

%Vor%

Ideen?

AKTUALISIEREN

bgallagh3r hat vorgeschlagen, eine foreach-Schleife zu verwenden, um jede Kategorie in ein Array umzuwandeln. Ihr Code hat mich nahe gebracht, aber eine Reihe von funky verschachtelten optgroup -Tags erzeugt. Ich konnte es auf nur ein optgroup runter bringen, aber das ist eins zu viel ..

%Vor%

Und dann in der Form:

%Vor%

Ich habe diesen HTML-Code:

%Vor%     
NightMICU 08.01.2013, 18:14
quelle

7 Antworten

30

Sie können die 'Listen' Funktion versuchen:

$categories = Category::lists('category', 'id');

(Nur für Laravel 3) Oder lassen Sie den "id" -Parameter einfach weg, da standardmäßig der Modellschlüssel verwendet wird, siehe Ссылка

$categories = Category::lists('category');

(Für Laravel 4 benötigen Sie den zweiten Parameter, siehe Ссылка )

    
Barryvdh 08.01.2013, 22:32
quelle
4

Je nachdem, ob Sie Eloquent für Ihre Modelle verwenden Kategorie gibt ein Array von Objekten zurück, Sie müssen die Objekte in Arrays konvertieren, bevor Sie sie an die Form-Klasse übergeben.

%Vor%     
bgallagh3r 08.01.2013 18:19
quelle
3

In Laravel 4 können Sie einfach Folgendes ausprobieren:

%Vor%

Fügen Sie Ihrer Ansicht nach einfach {{ Form::select('category', $category) }} hinzu. Das Ergebnis ist, was Sie wollen, wie folgt

%Vor%     
Set Kyar Wa Lar 30.12.2014 20:10
quelle
1

Wie wäre es damit?

%Vor%     
JackpotK 28.05.2013 06:32
quelle
1

Wenn Sie nur den Code von bgallagh3r bearbeiten, funktioniert das folgende:

%Vor%

... obwohl ich (in L4) bevorzuge:

%Vor%     
james 10.12.2013 09:56
quelle
1

Für Laravel 5.3.x

Im Controller

%Vor%

In der Ansicht

%Vor%     
Octavio Fuenzalida 12.11.2016 16:48
quelle
0

für Laravel 5.2

im Controller

%Vor%

in Sicht

%Vor%     
Khan Muhammad 03.03.2016 18:26
quelle

Tags und Links