Search code examples
phplaravellaravel-5.3

Laravel Multi-select the right way


I'm having trouble getting a Form Request to find a multi select input with Laravel. My request input always appears to be NULL. Is there anything I'm missing or wrong with my Syntax?

I've seen some examples mention dot notation syntax for multi selects in Laravel?

e.g.

$name = $request->input('products.0.name');
$names = $request->input('products.*.name');

But I'm assuming this is for multi dimensional selects?

I'm passing my request through to a Repository for data action

<select id="team" name="team[]" class="team" multiple>
  @foreach ( $teams as $team )
      <option value="{{ $team->id }}">{{ $team->name }}</option>
  @endforeach
</select>


use Illuminate\Support\Facades\Input;


public function createUser( CreateUserRequest $request ){

        $array = DB::transaction(function($request) use ($request)
        {
                  $name = $request->input('name');
                  $email =$request->input('email');

                //  $team = $request->input('team[].*');
                  $s = $request->input('team');
                  $t =$request->get('team');

                  var_dump($s);//NULL
                  var_dump($t);//NULL
                  die();

Solution

  • Please check it may be working.

    $name = $request->input('name');
     $email =$request->input('email');
    // array field    
    $team = $request->input('team');
    foreach($team as $key=>$value){
      $data->name = $name;
      $data->email = $email;
    // array value
      $data->item = $value;
    // save in datatabase
      $data->save();
    }