В моем контроллере у меня есть множество опций ($options=['a','b','c']
), который я использую в моем представлении в поле ввода. Мне нужно, чтобы значения ‘a’, ‘b’, ‘c’ были сохранены в базе данных вместо соответствующих им ключей (0,1,2).
Как я могу это сделать?
контроллер:
public function create()
{
$options=['a','b','c'];
return view('example.create', compact('options'));
}
Посмотреть:
<div class="form-group col-lg-4">
{!! Form::select('option', $options ,null , ['class' => 'form-control']) !!}
</div>
Если вы используете массив для заполнения Form::select('selected_option', $options)
Вам нужно, чтобы это выглядело так:
$options = ['a' => 'a', 'b' => 'b', 'c' => 'c'];
Затем, когда значения формы передаются обратно в контроллер, Input::get('selected_option')
получит значение 'a'
, 'b'
, или же 'c'
,
Очень простой способ получить нужный массив:
$options = array_combine($options, $options);
, который создаст массив с ключами и значениями, которые являются одинаковыми.
Других решений пока нет …