/** * * create a new album * @param Request $request * @return \Illuminate\Http\JsonResponse */ public function add(Request $request) { try { $this->validate($request, Album::$rules); $input = $request->all(); $album = new Album($input); $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()]); } }