Current File : /home/masbinta/public_html/core/app/Http/Controllers/Admin/GcategoryController.php |
<?php
namespace App\Http\Controllers\Admin;
use App\Models\Gallery;
use App\Models\Language;
use App\Models\Gcategory;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class GcategoryController extends Controller
{
public $lang;
public function __construct()
{
$this->lang = Language::where('is_default', 1)->first();
}
public function gcategory(Request $request)
{
$lang = Language::where('code', $request->language)->first()->id;
$gcategories = Gcategory::where('language_id', $lang)->orderBy('id', 'desc')->get();
return view('admin.gallery.gallery-category.index', compact('gcategories'));
}
// Add Blog Category
public function add()
{
return view('admin.gallery.gallery-category.add');
}
// Store Blog Category
public function store(Request $request)
{
$request->validate([
'name' => [
'required',
'unique:gcategories,name',
'max:150',
],
'language_id' => 'required',
'status' => 'required',
'serial_number' => 'required|numeric',
]);
$bcategory = new Gcategory();
$bcategory->language_id = $request->language_id;
$bcategory->name = $request->name;
$bcategory->status = $request->status;
$bcategory->serial_number = $request->serial_number;
$bcategory->save();
$notification = array(
'messege' => 'Gallery Category Added successfully!',
'alert' => 'success'
);
return redirect()->back()->with('notification', $notification);
}
// Blog Category Delete
public function delete($id)
{
$bcategory = Gcategory::find($id);
$blogs = Gallery::where('category_id', $id)->get();
if($blogs->count() >= 1){
$notification = array(
'messege' => 'First Delete Galleries Under This Category !',
'alert' => 'success'
);
return redirect()->back()->with('notification', $notification);
}
$bcategory->delete();
$notification = array(
'messege' => 'Gallery Category Deleted successfully!',
'alert' => 'success'
);
return redirect()->back()->with('notification', $notification);
}
// Blog Category Edit
public function edit($id)
{
$gcategory = Gcategory::find($id);
return view('admin.gallery.gallery-category.edit', compact('gcategory'));
}
// Blog Skill Category
public function update(Request $request, $id)
{
$bcategory = Gcategory::findOrFail($id);
$request->validate([
'name' => [
'required',
'max:150',
'unique:gcategories,name,'.$id
],
'language_id' => 'required',
'status' => 'required',
'serial_number' => 'required|numeric',
]);
$bcategory->language_id = $request->language_id;
$bcategory->name = $request->name;
$bcategory->status = $request->status;
$bcategory->serial_number = $request->serial_number;
$bcategory->save();
$notification = array(
'messege' => 'Gallery Category Updated successfully!',
'alert' => 'success'
);
return redirect(route('admin.gcategory').'?language='.$this->lang->code)->with('notification', $notification);
}
}