with('post')->get(); $response = []; foreach ($comment as $key => $data) { $response[$key] = [ "comment_id" => $data->id, "post_id" => $data->post_id, "title_post" => $data->post->title, "content" => $data->post->content, "user_id" => $data->user_id, "nama" => $data->user->nama, "role" => $data->role->role, "email" => $data->user->email, "comment" => $data->content, "time" => Carbon::createFromFormat('Y-m-d H:i:s', $data->created_at)->format('Y-m-d H:i:s'), ]; } return $this->successResponse("Data Post", $response); } public function store(Request $request) { $validator = validator($request->all(), [ 'user_id' => ['required', 'integer'], 'post_id' => ['required', 'integer'], 'content' => ['required', 'string'], ]); if ($validator->fails()) { return $this->errorValidationResponse("Inputan Tidak Sesuai", $validator->errors()); } $user = User::find($request->user_id); if (!$user) { return $this->errorNotFound("User Tidak Ditemukan"); } $post = Post::find($request->post_id); if (!$post) { return $this->errorNotFound("Post Tidak Ditemukan"); } $comment = new Comment(); $comment->fill([ 'user_id' => $request->user_id, 'post_id' => $request->post_id, 'content' => $request->content, ]); // Jika role user adalah TENAGA_KESEHATAN, tandai post sebagai telah dibaca if ($user->role->role === 'TENAGA_KESEHATAN') { $post->read = true; $post->save(); } $comment->save(); return $this->successResponse("Data Berhasil Disimpan"); } public function show($id) { $comment = Post::find($id)->comments->all(); if (empty($comment)) { return $this->errorNotFound("Data Post tidak ditemukan"); } $response = []; foreach ($comment as $key => $data) { $user = User::find($data->user_id); $response[$key] = [ "user_id" => $user->id, "nama" => $user->nama, "role" => $user->role->role, "email" => $user->email, "comment_id" => $data->id, "content" => $data->content, "time" => Carbon::createFromFormat('Y-m-d H:i:s', $data->created_at)->format('Y-m-d H:i:s'), ]; } return $this->successResponse("Data Comment", $response); } public function update(Request $request, $id) { // } public function destroy($id) { $comment = Comment::findOrFail($id); if (empty($comment)) { return $this->errorNotFound("Data Comment tidak ditemukan"); } $comment->delete(); return $this->successResponse("Success Delete Data Post"); } }