public function restore($id) { $motion = Motion::withTrashed()->with('user')->find($id); if (!$motion) { abort(404, 'Motion does not exist'); } if ($motion->user->id != Auth::user()->id && !Auth::user()->can('administrate-motions')) { abort(401, 'User does not have permission to restore this motion'); } $motion->deleted_at = null; //restore() isn't working either if (!$motion->save()) { abort(400, $motion->errors); } return $motion; }