2015-12-28 22 views
2

我做了一個表格,我創建了一週的日子裏的字段,我把它作爲序列化存儲在數據庫中。當我嘗試編輯形式(即試圖改變形式的天數據)編輯的數據不會被存儲在數據庫中,而不是涉及到一個錯誤如何在編輯時使用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> 

回答

1

試試你"Update Method"與以下一個更新,

public function update(EventRequest $request, $id) 
{ 
    $event = Event::findOrFail($id); 
    $input = Request::all(); 
    $input['days_of_week'] = serialize(Input::get('days_of_week')); 
    $event->update($input); 
    return redirect('event'); 
} 
相關問題