BlogCategoryController.php 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Http\Controllers\Controller;
  4. use Illuminate\Http\Request;
  5. use App\Models\BlogCategory;
  6. class BlogCategoryController extends Controller
  7. {
  8. /**
  9. * Display a listing of the resource.
  10. *
  11. * @return \Illuminate\Http\Response
  12. */
  13. public function index(Request $request)
  14. {
  15. $sort_search =null;
  16. $categories = BlogCategory::orderBy('category_name', 'asc');
  17. if ($request->has('search')){
  18. $sort_search = $request->search;
  19. $categories = $categories->where('category_name', 'like', '%'.$sort_search.'%');
  20. }
  21. $categories = $categories->paginate(15);
  22. return view('backend.blog_system.category.index', compact('categories', 'sort_search'));
  23. }
  24. /**
  25. * Show the form for creating a new resource.
  26. *
  27. * @return \Illuminate\Http\Response
  28. */
  29. public function create()
  30. {
  31. $all_categories = BlogCategory::all();
  32. return view('backend.blog_system.category.create', compact('all_categories'));
  33. }
  34. /**
  35. * Store a newly created resource in storage.
  36. *
  37. * @param \Illuminate\Http\Request $request
  38. * @return \Illuminate\Http\Response
  39. */
  40. public function store(Request $request)
  41. {
  42. $request->validate([
  43. 'category_name' => 'required|max:255',
  44. ]);
  45. $category = new BlogCategory;
  46. $category->category_name = $request->category_name;
  47. $category->slug = preg_replace('/[^A-Za-z0-9\-]/', '', str_replace(' ', '-', $request->category_name));
  48. $category->save();
  49. flash(translate('Blog category has been created successfully'))->success();
  50. return redirect()->route('blog-category.index');
  51. }
  52. /**
  53. * Display the specified resource.
  54. *
  55. * @param int $id
  56. * @return \Illuminate\Http\Response
  57. */
  58. public function show($id)
  59. {
  60. //
  61. }
  62. /**
  63. * Show the form for editing the specified resource.
  64. *
  65. * @param int $id
  66. * @return \Illuminate\Http\Response
  67. */
  68. public function edit($id)
  69. {
  70. $cateogry = BlogCategory::find($id);
  71. $all_categories = BlogCategory::all();
  72. return view('backend.blog_system.category.edit', compact('cateogry','all_categories'));
  73. }
  74. /**
  75. * Update the specified resource in storage.
  76. *
  77. * @param \Illuminate\Http\Request $request
  78. * @param int $id
  79. * @return \Illuminate\Http\Response
  80. */
  81. public function update(Request $request, $id)
  82. {
  83. $request->validate([
  84. 'category_name' => 'required|max:255',
  85. ]);
  86. $category = BlogCategory::find($id);
  87. $category->category_name = $request->category_name;
  88. $category->slug = preg_replace('/[^A-Za-z0-9\-]/', '', str_replace(' ', '-', $request->category_name));
  89. $category->save();
  90. flash(translate('Blog category has been updated successfully'))->success();
  91. return redirect()->route('blog-category.index');
  92. }
  93. /**
  94. * Remove the specified resource from storage.
  95. *
  96. * @param int $id
  97. * @return \Illuminate\Http\Response
  98. */
  99. public function destroy($id)
  100. {
  101. BlogCategory::find($id)->delete();
  102. return redirect('admin/blog-category');
  103. }
  104. }