0

Haben Sie ein Problem mit ausgewählten Elementen in Multi-Auswahl.Laravel Form Builder Multi ausgewählte Elemente auswählen

haben eine 'filter.blade.php' Teilansicht in einer Eingang 'index.blade.php' Einheitansicht

Unteransicht Fragment bilden, eine von mehrer Mehr Selects:

<div class="col-lg-4 col-md-4 form-group"> 
    {!! Form::label('subcategories', trans('art-work.subcategory'), ['class' => 'control-label']) !!} 
    {!! Form::select('subcategories[]', $subcategories, $_subcategories, 
     [ 
      'id' => 'subcategories', 
      'class' => 'form-control select2', 
      'multiple' => 'multiple', 
      'data-placeholder' => trans('crud.choose'), 
    ]) !!} 
</div> 
.... 
{{ Log::info('subcategories', $_subcategories) }} 

Controller-Aktion, die Eingaben von Anforderung verarbeiten Ergebnisse filtern

public function filter(Request $request) 
{ 
    $this->validate($request, $this->filterRules); 
    $filters = [ 
     'category_id'  => (int) $request->category_id, 
     'subcategories' => $request->subcategories, 
     'grades'   => $request->grades, 
     'students'  => $request->students, 
     'professors'  => $request->professors, 
    ]; 

    $works = ArtWork::filtered($filters); 
    $subcategories = Category::where('category_id', $filters['category_id']) 
     ->get() 
     ->pluck('title', 'id') 
     ->toArray(); 

    return view('panel.art-work.index', [ 
     'works'   => $works, 
     'subcategories' => $subcategories, 

     '_category'  => $filters['category_id'], 
     '_subcategories' => $filters['subcategories'], 
     '_grades'   => $filters['grades'], 
     '_students'  => $filters['students'], 
     '_professors'  => $filters['professors'], 

     '_filter'   => true, 
    ]); 
} 

So, wenn der Filter Formular übermittelt wird an den Controller und die Ansicht mit den Variablen wie ‚_subcategories‘ gezeigt, sho Sollen aus der Anfrage in der Mehrfachauswahl IDs ausgewählt werden. Aber nichts ausgewählt.

http://joxi.ru/82QeLzDi135Xy2

Es ist seltsam, und ich steckte ...

Dank

Antwort

0

Meine Arbeitslösung:

jeden Optionswert (ID in meinem Fall) stringifying.

In html, statt

<select> 
    <option value="1">First</option> 
    <option value="2">Second</option> 
    ... 
    <option value="n">Nth</option> 

<select> 

So etwas wie

<select> 
     <option value="d1">First</option> 
     <option value="d2">Second</option> 
     ... 
     <option value="dn">Nth</option> 

<select> 

sein sollte, bevor ein Array mit Schlüssel-Wert-Paare für Formular-Builder Multi wählen vorbei, fügte ich Buchstaben, zum Beispiel , 'd' zu bewerten.

Und, nach dem Einreichen des Formulars mit ausgewählten Elementen, lösche ich jeden Wert und entferne den Brief vor der Verarbeitung dieser Daten