public function updateProductType() { if (!Request::ajax()) { return App::abort(404); } $arrReturn = ['status' => 'error']; if (Input::has('pk')) { $id = (int) Input::get('pk'); $name = (string) Input::get('name'); $value = e((string) Input::get('value')); try { $type = ProductType::findorFail($id); $type->{$name} = $value; } catch (Illuminate\Database\Eloquent\ModelNotFoundException $e) { return App::abort(404); } } else { $type = new ProductType(); $type->name = Input::get('name'); $type->description = Input::get('description'); } $pass = $type->valid(); if ($pass->passes()) { $type->save(); $arrReturn = ['status' => 'ok']; $arrReturn['message'] = $type->name . ' has been saved'; $arrReturn['data'] = $type; } else { $arrReturn['message'] = ''; $arrErr = $pass->messages()->all(); foreach ($arrErr as $value) { $arrReturn['message'] .= "{$value}\n"; } } $response = Response::json($arrReturn); $response->header('Content-Type', 'application/json'); return $response; }