/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $token = JWTAuth::getToken(); $user = JWTAuth::toUser($token); $validator = Validator::make($request->all(), ['title' => 'required|max:255', 'content' => 'required']); if ($validator->fails()) { return response()->json(['errors' => $validator->errors()], 400); } $topic = new Topic(); $topic->title = $request->title; $topic->user()->associate($user); $topic->save(); $post = new Post(); $post->content = $request->content; $post->topic()->associate($topic); $post->user()->associate($user); $post->save(); return response()->json(['topic' => $topic, 'post' => $post], 201); }