IMMREX7

aku nok ndi : /home/spdtg/www/schoolmis/app/Http/Controllers/School/
File Up :
aku nok ndi : /home/spdtg/www/schoolmis/app/Http/Controllers/School/AssignBusRouteController.php

<?php

namespace App\Http\Controllers\School;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Auth;
use Session;
use DB;

class AssignBusRouteController extends SchoolController {

    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index() {
        $buses = ['' => '---Select Bus---'] + \App\Bus::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
                        ->where('idFinancialYear', '=', Session::get('idFinancialYear'))
                        ->get()->pluck('busNo', 'idBus')->toArray();
        $routes = \App\Route::where('idSchool', '=', Auth::guard('school')->user()->idSchool)->where('idFinancialYear', '=', Session::get('idFinancialYear'))->get()->pluck('routeName', 'idRoute')->toArray();
        $busroutes = \App\BusRoute::join('buses','busroutes.idBus','=','buses.idBus')->where('busroutes.idSchool', '=', Auth::guard('school')->user()->idSchool)
                        ->groupBy('busroutes.idBus')->get();
        return view('schools.buses.busroute', compact('buses', 'routes', 'busroutes'));
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create() {
        //
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request) {
        $rules = [];
        if (!isset($request->routes)) {
            $rules += ['route' => 'required'];
        }
        $messages = ['route.required' => 'At least one route must be selected.'];
        $this->validate($request, $rules, $messages);
        foreach ($request->routes as $key => $var) {
            $busroute = new \App\BusRoute();
            $busroute->idSchool = Auth::guard('school')->user()->idSchool;
            $busroute->idBus = $request->idBus;
            $busroute->idRoute = $var;
            $busroute->save();
        }
        return redirect('school/busroute');
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id) {
        //
        
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id) {
        //
        $buses = \App\Bus::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
                        ->where('idFinancialYear', '=', Session::get('idFinancialYear'))
                        ->where('idBus',$id)
                        ->get()->pluck('busNo', 'idBus')->toArray();
        $busroute = \App\BusRoute::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
        ->where('idBus',$id)->pluck('idRoute')->toArray();                
        $routes = \App\Route::where('idSchool', '=', Auth::guard('school')->user()->idSchool)->where('idFinancialYear', '=', Session::get('idFinancialYear'))->get()->pluck('routeName', 'idRoute')->toArray();
        return view('schools.buses.bus_edit_route', compact('buses', 'routes','busroute','id'));
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id) {
        //
        $rules = [];
        if (!isset($request->routes)) {
            $rules += ['route' => 'required'];
        }
        $messages = ['route.required' => 'At least one route must be selected.'];
        $this->validate($request, $rules, $messages);
        $busroutes = \App\BusRoute::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
        ->where('idBus',$request->idBus)->pluck('idBusRoute')->toArray();   
        \App\BusRoute::whereIn('idBusRoute', $busroutes)->delete();           
        foreach ($request->routes as $key => $var) {
            $busroute = new \App\BusRoute();
            $busroute->idSchool = Auth::guard('school')->user()->idSchool;
            $busroute->idBus = $request->idBus;
            $busroute->idRoute = $var;
            $busroute->save();
        }
        return redirect('school/busroute');
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id) {
        $busroute = \App\BusRoute::where('idBusRoute', '=', $id)->first();
        $bus = \App\Bus::where('idBus','=',$busroute->idBus)->first();
        DB::beginTransaction();
        $bus->routes()->delete();
        DB::commit();
        return response()->json(['success' => "SUCCESS"], 200, ['app-status' => 'success']);
    }

}

Copyright © 2021 - 2025 IMMREX7