select multiple laravel 5.4

Par Youssef Boudaya, il y a 8 ans


Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais

La vue

<div class="form-group m-b-20"> <label for="marque">Marques</label> <select class="select2 form-control " multiple="multiple" multiple data-placeholder="Choose ..." name="marque_id" style="width: 50%"> @foreach ($marques as $marque) <option value="{{$marque->id}}">{{$marque->title}}</option> @endforeach </select> </div>

Mon controlleur

public function store(Request $request) { foreach($request->get('marque_id') as $m) { $link=new Linkusersmarques; $link->user_id=$request->get('user_id'); $link->marque_id=$m; $link->save(); } return redirect ('gestion_des_marques'); }

Pour chaque valeur selectionnée dans la select je veux faire l'ajout des données dans ma table. Mais j'ai cet erreur: Invalid argument supplied for foreach()

4 réponses

Youssef Boudaya, il y a 8 ans

ça marche mercii bien :) (quelle faute stupide hh)

kndeye, il y a 8 ans

Bonjour, essais de faire

dd($request->get('marque_id'))

avant ton foreach pour voir ce que ça te donne.

Youssef Boudaya, il y a 8 ans

J'ai fait comme ça

public function store(Request $request) { foreach(dd($request->get('marque_id')) as $m) { $link=new Linkusersmarques; $link->user_id=$request->get('user_id'); $link->marque_id=$m; $link->save(); } return redirect ('gestion_des_marques'); }

ça m'a donné 3 (le nombre de marques que j'ai selectionné dans la select)

Perfectos, il y a 8 ans

Nomme ton select marque_id[] et ne change rien à ton code php.