Obtention des valeurs sélectionnées à partir d'un formulaire de sélection multiple à Laravel
Pour générer une liste déroulante avec un élément sélectionné par défaut, le texte suivant est fait:
echo Form::select('size', array('L' => 'Large', 'M' => 'Medium', 'S' => 'Small'), 'S');
J'ai donc généré une liste déroulante qui a plus d'un élément sélectionné par défaut, de la manière suivante:
echo Form::select('size', array('L' => 'Large', 'M' => 'Medium', 'S' => 'Small'), array('S', 'M'), array('multiple'));
Mais comment puis-je obtenir plus de valeurs sélectionnées?
Input::get('size')
retourne uniquement la dernière chaîne sélectionnée.
source d'informationauteur SUB0DH
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, si vous voulez avoir de multiples élément sélectionné par défaut, vous devez donner un tableau de valeurs comme le 3ème paramètre, pas une simple valeur.
Exemple:
devrait afficher le sélectionner avec S et M sélectionné.
Pour le deuxième point, vous devriez essayer de donner un nom comme
size[]
au lieu desize
on pourrait résoudre le problème (parce que votre affiché sélectionnez n'est pas une simple valeur, de son un tableau de valeurs)D'habitude les instructions Select aller
Et le flux de travail est que Laravel obtient la forme des éléments par leur nom.
Pour le faire fonctionner, changer le nom d'un tableau.
Cela fera laravel obtenir les valeurs de sélectionner dans un tableau de données.
Selon https://laravelcollective.com/docs/5.2/html#drop-down-lists
Par ailleurs, merci de l'avis de liste déroulante nom de l' (taille[]) si vous voulez être en mesure d'utiliser ce champ comme tableau dans votre backend.
Les choses deviennent difficiles lorsque vous souhaitez utilise que des relations de valeur, par exemple
Donc
$user->colors
sera de retour quelque chose commeVous pourriez faire quelque chose comme, n'oubliez pas
User Model
ont unsizes
relation de un-à-plusieurs avecSIZE Model
Espère que cela aide