Preview: BlogCategoryController.php
Size: 2.74 KB
/home/getspomw/royalsquad.us/app/Http/Controllers/BlogCategoryController.php
<?php
namespace App\Http\Controllers;
use App\Models\Blog;
use App\Models\BlogCategory;
use Illuminate\Http\Request;
class BlogCategoryController extends Controller
{
/**
* Display a listing of blog categories.
*/
public function index(Request $request)
{
$categories = BlogCategory::orderBy('category_name', 'asc')->get();
return view('admin.blog.category.index', compact('categories'));
}
/**
* Store a new blog category in the database.
*/
public function store(Request $request)
{
$request->validate([
'category_name' => 'required|max:255',
]);
$slug = preg_replace('/[^A-Za-z0-9\-]/', '', str_replace(' ', '-', $request->category_name));
$category = new BlogCategory;
$category->category_name = $request->category_name;
$category->slug = strtolower($slug);
$category->save();
return redirect()->route('blog-category')->with('success', 'Blog category has been created successfully');
}
/**
* Show the form for editing a specific blog category.
*/
public function edit($id)
{
$categories = BlogCategory::find($id);
$all_categories = BlogCategory::all();
return view('admin.blog.category.edit', compact('categories', 'all_categories'));
}
/**
* Update a specific blog category in the database.
*/
public function update(Request $request, $id)
{
$request->validate([
'category_name' => 'required|max:255',
]);
$slug = preg_replace('/[^A-Za-z0-9\-]/', '', str_replace(' ', '-', $request->category_name));
$category = BlogCategory::find($id);
$category->category_name = $request->category_name;
$category->slug = strtolower($slug);
$category->save();
return redirect()->route('blog-category')->with('success', 'Blog category has been updated successfully');
}
/**
* Delete a specific blog category from the database.
*/
public function destroy($id)
{
BlogCategory::find($id)->delete();
return redirect()->route('blog-category')->with('success', 'Blog category has been deleted successfully');
}
/**
* Display blogs under a specific category for the frontend.
*/
public function blogs_category($slug)
{
$blog_category = BlogCategory::where('slug', $slug)->first();
if ($blog_category) {
$blogs = Blog::where('category_id', $blog_category->id)->get();
}
$blog_categories = BlogCategory::all();
$blogs_f = Blog::take(4)->get();
return view('frontend.category.details', compact('blog_category', 'blogs', 'blogs_f', 'blog_categories'));
}
}
Directory Contents
Dirs: 0 × Files: 12