/** * update a existing album * @param Request $request * @param $id */ public function update(Request $request, $id) { $album = Album::find($id); if (!$album) { return response()->json(['status' => 'error', 'message' => 'album no encontrado']); } try { $this->validate($request, Album::$rules); $input = $request->all(); $album->title = $input['title']; $album->published = $input['published']; $artists = Artist::whereIn('id', $input['author'])->get(); $album->save(); $album->artist()->saveMany($artists); return response()->json(['status' => 'success']); } catch (ValidationException $e) { return response()->json(['status' => 'validation_error', 'messages' => $e->validator->errors()]); } catch (\Exception $e) { return response()->json(['status' => 'server_error', 'message' => $e->getMessage()]); } }
/** * @param $id * @return \Illuminate\Http\JsonResponse */ public function roleDelete($id, $role) { $artist = Artist::with('Album', 'Roles')->find($id); $artist->roles()->detach($role); $artist->save(); return response()->json(['status' => 'success']); }