/**
  * Remove the specified resource from storage.
  *
  * @param  \App\Exercise $exercise
  * @param  \App\Translation $translation
  *
  * @return \Illuminate\Http\Response
  */
 public function destroy(Exercise $exercise, Translation $translation)
 {
     if (count($exercise->translations) > 1) {
         if ($exercise->translations()->find($translation->id)) {
             $exercise->translations()->detach($translation);
             $response = response('This translation has deleted.');
         } else {
             $response = response()->json(['errors' => ['This translation hasn\'t found in the exercise word.']], 404);
         }
     } else {
         $response = response()->json(['errors' => ['Exercise can\'t exist without translations.']], 400);
     }
     return $response;
 }
コード例 #2
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  *
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     $validator = \Validator::make($request->all(), ['word_id' => 'required|exists:words,id', 'translation_id' => 'required|exists:translations,id']);
     if ($validator->passes()) {
         $user = \Auth::user();
         $word = Word::find($request->input('word_id'));
         if (!$user->exercises()->where('word_id', $word->id)->first()) {
             if ($translation = $word->translations()->find($request->input('translation_id'))) {
                 $exercise = new Exercise();
                 $exercise->setNewStatus($user);
                 $exercise->user()->associate($user);
                 $exercise->word()->associate($word);
                 $exercise->save();
                 $exercise->translations()->attach($translation);
                 $response = response()->json(['id' => $exercise->getId()], 201);
             } else {
                 $response = response()->json(['errors' => ['This translation hasn\'t found in the exercise word.']], 404);
             }
         } else {
             $response = response()->json(['errors' => ['You already have this word in your exercises.']], 400);
         }
     } else {
         $response = response()->json(['errors' => $validator->messages()->all()], 400);
     }
     return $response;
 }