2017-11-03 20 views
2

So dauerte es meine Zeit und gelangweilt mich so sehr und ich wollte dich fragen!Laravel Forms Korrekte Syntax

<select> 
    @foreach($items as $item) 
    <option value="{{$item->name}}">{{$item->name}}</option> 
    @endforeach 
    </select> 

Ich bin ok mit diesem Beispiel ich meine, ich kann Elemente in Dropdown-Liste erhalten. Aber! Wenn ich es in Laravel-Formen versuche, kann ich nicht dasselbe machen! Ich kann nicht innerhalb von Formen der Laravel

<div class="form-group"> 
    @foreach($items as $item) 
    {!! Form::select('name', [$item->name => $item->name]) !!} 
    @endforeach 
</div> 

Also am Ende der foreach-Schleife platzieren ich das bekommen .. difference

https://pasteboard.co/GRYceaG.png

Ich weiß, dass ich diese foreach-Schleife setzen müssen, nachdem wählen in {!! Form::select('name', aber ich kann es nicht tun! Hilf mir bitte bei diesem verdammten Problem.

Antwort

2

Form::select erstellt eine <select>. So erstellen Sie eine <select> bei jeder Iteration. Stattdessen müssen Sie:

{!! Form::select('name', $options) !!} 

wo $options ist Array mit Ihren Werten. Sie können dieses Array in einem Controller erstellen.

Zum Beispiel können Sie pluck Pflichtfelder aus der Sammlung und geben Sie das Ergebnis-Array select():

$options = $user->items()->pluck('name'); 

{!! Form::select('name', $options) !!} 
+0

das Beispiel Siehe hier: https://laravelcollective.com/docs/5.4/html#drop-down -listen – Jeffrey

+0

schau ich bekomme dieses Array als $ items = $ user-> items() -> get(); aber ich muss den Namen jedes Artikels nehmen, aber es funktioniert nicht im Blick .. –

+0

Ich überprüfte alle diese Beispiele nur ich bin sehr wütend auf dieses Ding, dass ich es in normaler HTML-Form tun kann, kann aber nicht dasselbe tun Laravelform ... sollten sie nicht gleich sein? –