/** * Get category page data. * * @param int $categoryId * @param GetCategoryDataRequest $request * @return mixed */ public function getCategory($categoryId, GetCategoryDataRequest $request) { $category = DB::table('help_center_categories')->where('id', $categoryId)->first(); $category->articles = HelpCenterArticle::where('category_id', $categoryId)->get(); $response = new AjaxResponse(); $response->setSuccessMessage(trans('common.success')); $response->addExtraFields(['category' => $category]); return response($response->get())->header('Content-Type', 'application/json'); }
/** * Return category articles. * * @param int $categoryId * @return array */ public static function getCategoryArticles($categoryId) { $categoryArticles = []; $results = HelpCenterArticle::where('category_id', $categoryId)->get(); foreach ($results as $result) { $categoryArticles[] = $result; } return $categoryArticles; }
/** * Delete article. * * @param int $categoryId * @param DeleteArticleRequest $request * @return mixed */ public function deleteArticle($categoryId, DeleteArticleRequest $request) { $response = new AjaxResponse(); $category = HelpCenterCategory::where('id', $categoryId)->first(); if (!$category) { $response->setFailMessage(trans('help_center.category_not_found')); return response($response->get(), $response->getDefaultErrorResponseCode())->header('Content-Type', 'application/json'); } // Delete article HelpCenterArticle::where('id', $request->get('article_id'))->delete(); // Get remaining articles $extraFields = []; $articles = HelpCenterManagerHelper::getCategoryArticles($categoryId); if (count($articles)) { $extraFields['articles'] = $articles; } $response->setSuccessMessage(trans('help_center.article_deleted')); $response->addExtraFields($extraFields); return response($response->get())->header('Content-Type', 'application/json'); }