Я пытаюсь сохранить массив округов в моей базе данных. Вот мой клинок:
<select size="5" name="county[]" multiple class="form-control-2">
<option value="" selected="" disabled="">All Counties</option>
@if (isset($counties))
@foreach ($counties as $c)
<option value="{{ $c->name }}">{{ $c->name }}</option>
@endforeach
@endif
и мой контроллер:
// Store the property Alert
public function propertyAlert(PropertyAlertRequest $request)
{
$action = PropertySubscribe::create($request->all());
$action = PropertySubscribe::create([
$action->county = Input::get('county'),
]);
$action->save();
notify()->flash('Registered!', 'success', ['text' => 'You have now been registered.']);
return back();
}
и ошибка, которую я получаю:
preg_replace(): Parameter mismatch, pattern is a string while replacement is an array
Может ли кто-нибудь помочь мне понять, что я делаю неправильно? Я посылаю его в виде массива, и дд показывает значения успешно. Нужно ли foreach для элементов массива?
Input::get('county')
возвращает массив, потому что ваш select multiple
попробуй это:
foreach(Input::get('county') as $county)
{
PropertySubscribe::create([
$action->county = $county,
]);
}
Других решений пока нет …