Пример #1
0
 /**
  * 更新処理
  *
  * @param TextDiary $textDiary
  * @param TextDiaryUpsertRequest $request
  * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
  */
 public function update(TextDiary $textDiary, TextDiaryUpsertRequest $request)
 {
     DB::transaction(function () use($request, $textDiary) {
         // 日記登録
         $textDiary->fill($request->all());
         $textDiary->save();
         // カテゴリ紐付け
         $textDiary->textDiaryCategories()->sync($request->input('category_ids'));
         // Flickr紐付け更新
         if ($request->has('flickr_ids')) {
             $textDiary->flickrs()->sync($request->input('flickr_ids'));
         } else {
             $textDiary->flickrs()->detach();
         }
     });
     // Flickerにアップロード
     if (!empty($request->file('picture')[0])) {
         $this->dispatch(new TextDiaryPictureUploader($textDiary->id, $request->file('picture'), $request->input('title')));
     }
     return redirect()->route('textDiary.index')->with('complete', 'update');
 }