public function update($id)
{
$data = Input::all();
if (!$this->validate($data)) {
return back()->withInput()->withErrors($this->validator->messages());
}
$this->model = $this->model->with($this->getRelations())->findOrFail($id);
$this->setFieldOriginalValue();
$this->prepare($data, $this->saving);
DB::transaction(function () {
$updates = $this->prepareUpdate($this->updates);
foreach ($updates as $column => $value) {
$this->model->setAttribute($column, $value);
}
$this->model->save();
$this->updateRelation($this->relations);
});
$this->complete($this->saved);
return redirect($this->resource());
}