관리-도구
편집 파일: BaseController.php
<?php namespace App\Http\Controllers; use App\Models\Acheievements; use App\Models\Address; use App\Models\Booking; use App\Models\Contact; use App\Models\Counts; use App\Models\Gallery; use App\Models\Offer; use App\Models\Services; use App\Models\Slider; use App\Models\Team; use App\Models\Testimonials; use App\Models\Folder; use App\Models\Keyword; use App\Models\Seo; use Illuminate\Http\Request; use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\View; class BaseController extends Controller { public function __construct() { $address = Address::first(); // or any query logic View::share('address', $address); $seo = Seo::where('page', 'homepage')->first(); // Adjust the page condition as needed // Get all keywords $keywords = Keyword::all(); // Share data with all views View::share('seo', $seo); View::share('keywords', $keywords); } public function index() { $services = Services::orderBy('id', 'desc')->get(); $sliders = Slider::all(); $testimonials = Gallery::all(); return view('frontend.index', compact('services', 'testimonials', 'sliders')); } public function works() { $gallery = Gallery::orderBy('created_at', 'desc')->get(); return view('frontend.gallery', compact('gallery')); } public function photos() { return view('frontend.photos'); } public function about() { $about = Counts::where('title', 'about')->first(); $mission = Counts::where('title', 'mission')->first(); $usp = Counts::where('title', 'usp')->first(); return view('frontend.about', compact('about', 'mission', 'usp')); } public function contact() { $contact = Address::first(); return view('frontend.contact', compact('contact')); } public function services() { $services = Slider::all(); return view('frontend.services', compact('services')); } public function bookingstore(Request $request) { try { // validate data $validateData = $request->validate([ 'name' => 'required|string', 'email' => 'required|string', 'phone' => 'required|string', 'date' => 'required|string', 'event' => 'required|string', ]); // create new instance for contact $contact = new Booking(); $contact->name = $validateData['name']; $contact->email = $validateData['email']; $contact->phone = $validateData['phone']; $contact->date = $validateData['date']; $contact->course = $validateData['event']; $contact->save(); return redirect()->route('index')->with('Contact form submitted successfully'); } catch (\Exception $e) { Log::error('Error in contact form submitting:' . $e->getMessage()); } } public function contactstore(Request $request) { try { // validate data $validateData = $request->validate([ 'name' => 'required|string', 'qualification' => 'required|string', 'phone' => 'required|string', 'course' => 'nullable|string', ]); // create new instance for contact $contact = new Contact(); $contact->name = $validateData['name']; $contact->qualification = $validateData['qualification']; $contact->phone = $validateData['phone']; $contact->course = $validateData['course']; $contact->save(); return redirect()->route('index')->with('success', 'Contact form submitted successfully'); } catch (\Exception $e) { Log::error('Error in contact form submitting:', [ 'error' => $e->getMessage(), 'trace' => $e->getTraceAsString(), 'request' => $request->all(), ]); return redirect()->route('index')->with('error', 'There was an error submitting the contact form. Please try again.'); } } }