Как получить несколько выбранных значений окна выбора в laravel? - PullRequest
0 голосов
/ 20 марта 2020

У меня есть форма html, в которой есть список выбора, из которого вы можете выбрать несколько значений, потому что его свойство множественных значений установлено на несколько. Рассмотрим метод формы 'POST', но у меня есть эта ошибка:

(преобразование массива в строку)

Код html для формы выглядит следующим образом:

<body>
<form action="{{route('info.create')}}" method="post">
  <select name="ary[]" multiple="multiple">
    <option value="Option 1"> Option 1 </option>
    <option value="Option 2"> Option 2 </option>
    <option value="Option 3"> Option 3 </option>
    <option value="Option 4"> Option 4 </option>
    <option value="Option 5"> Option 5 </option>
  </select>
  <input type="submit">
</form>
</body>

Я хочу опубликовать выбранные значения в списке выбора на странице info.create. Итак, как мне исправить эту ошибку, пожалуйста?

Мой код контроллера:

$info=new Info();
$info->Risques=$request['ary'];

Ответы [ 2 ]

0 голосов
/ 21 марта 2020

Это проблема с приведением типов в модели после вызова метода create или Eloquent.

Вам необходимо добавить в вашу модель следующие варианты:

    /**
     * Typecast for protection.
     *
     * @var array
     */
    protected $casts = [
        'ary' => 'array',  // ary being your column name
    ];

И если вы хотите увидеть, что запрос отправляет в вашем методе на вашем контроллере, вы можете сделать

$data = $request->all();
dd($data);

Если предполагается, что ваш метод использует класс запроса Request $request

0 голосов
/ 20 марта 2020

Я не laravel dev, но вам нужно l oop через список выбора как

if(!empty($_POST['ary'])){
    foreach($_POST['ary'] as $value){
        echo $value;
    }
}

сделать dd($_POST['ary']) #, чтобы увидеть, что он выводит

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...