예제 #1
0
 /**
  * Get the validation rules that apply to the request.
  *
  * @return array
  */
 public function rules()
 {
     $snippet = Snippet::find($this->snippet);
     switch ($this->method()) {
         case 'POST':
             return ['description' => 'required|unique:snippets,description', 'content' => 'required', 'namespace' => 'required', 'tags' => 'required'];
         case 'PUT':
         case 'PATCH':
             return ['description' => 'required|unique:snippets,description,' . $snippet->id, 'content' => 'required', 'namespace' => 'required', 'tags' => 'required'];
         default:
             break;
     }
 }
 /**
  * Update the specified resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function update(Request $request, $id)
 {
     $requestData = $this->parseRequestData($request->all());
     $validationRules = isset($this->validationRules['edit']) ? $this->validationRules['edit'] : $this->validationRules;
     $this->validateRequestData($request, $requestData, $validationRules, $this->validationMessages, $this->getCustomValidationAttributes($validationRules));
     try {
         $resource = Snippet::find($id);
         if (!$resource) {
             $this->respondUnprocessableEntity();
         }
         $resource->update($requestData);
         return $this->respondWithSuccess('Snippet was successfully modified.');
     } catch (Exception $e) {
         return $this->respondInternalError($e->getMessage());
     }
 }
예제 #3
0
 /**
  * Update the specified resource in storage.
  *
  * @param  int $id
  * @return Response
  */
 public function update(Request $request, $id)
 {
     $input = $request->all();
     if (array_key_exists('selected-tags', $input)) {
         $this->snippet->where('id', $id)->update(['title' => $input['title'], 'body' => $input['body']]);
         // スニペットにタグを紐付ける
         $snippet = Snippet::find($id);
         $snippet->tags()->detach();
         $snippet->tags()->attach($input['selected-tags']);
         return redirect()->to("/snippet/{$id}");
     } else {
         \Session::flash('snippetFormError', '必ずタグを選択してください');
         $request->flashOnly('title', 'body');
         return redirect()->back()->withInput();
     }
 }