Я создал форму, в которой я создал поля в течение нескольких дней недели, которые я сохранил в базе данных как сериализую. Когда я пытаюсь изменить форму (т.е. пытается изменить дней данные формы), что отредактированные данные не откладываются в базе данных, вместо этого он приходит к ошибке, какКак получить сериализованные данные, хранящиеся в базе данных, используя laravel при редактировании?
preg_replace(): несоответствие параметров, шаблон является строка при замене является массивом
Что я могу сделать, чтобы сохранить значения в базе данных?
вот мой код:
Контроллер:
public function store(EventRequest $request)
{
$checkbox = Input::get('days_of_week');
$input = Request::all();
$input['days_of_week'] = serialize(Input::get('days_of_week'));
Event::create($input);
return redirect('event');
}
public function edit($id)
{
// get the event
$event = Event::findOrFail($id);
$s = Category::all()->where('parent_id','=','0');
$days = array(
'Monday' => 'Monday',
'Tuesday' => 'Tuesday',
'Wednesday' => 'Wednesday',
'Thursday' => 'Thursday',
'Friday' => 'Friday',
'Saturday' => 'Saturday',
'Sunday' => 'Sunday',
);
$daysOfWeek = unserialize(Event::find($id)->days_of_week);
// show the edit form and pass the event
return view('event.edit')->with('event', $event)->with('s',$s)->with('days',$days)->with('daysOfWeek',$daysOfWeek);
}
public function update(EventRequest $request, $id)
{
$event = Event::findOrFail($id);
$input['days_of_week'] = serialize(Input::get('days_of_week'));
$event->update($request->all());
return redirect('event');
}
Edit.blade.php:
<div class="dropdown">
<a href="#">
<input type="text" name="fname" class="hida" placeholder="select number of days"/>
<p class="multiSel"></p>
</a>
<div class="mutliSelect">
@foreach($days as $day)
<ul>
<li>
{!! Form::checkbox("days_of_week[]", $day, null) , $day !!}
</li>
</ul>
@endforeach
</div>
</div>