IMMREX7

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

<?php

namespace App\Http\Controllers\School\Hostel;

use Illuminate\Http\Request;
use App\Http\Controllers\School\SchoolController;
use DB;
use Auth;

class FloorController extends SchoolController {

    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index() {
        $floors = \App\HostelFloor::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
                        ->orderBy('idFloor', 'desc')->get();
        return view('schools.hostel.floor_room', compact('floors'));
    }

    /**
     * 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) {
        //dd($request->all());
        $rules['floorName'] = 'unique:hostel_floors,floorName,NULL,idFloor,idSchool,' . Auth::guard('school')->user()->idSchool;
        $message = [
            'floorName.unique' => 'Floor Already Exist.',
        ];
        $this->Validate($request, $rules, $message);

        $floor = new \App\HostelFloor();
        $floor->fill($request->all());
        $floor->idSchool = Auth::guard('school')->user()->idSchool;
        DB::beginTransaction();
        $floor->save();
        foreach ($request->rooms as $var) {
            $room = new \App\HostelRoom();
            $room->idFloor = $floor->idFloor;
            $room->idSchool = Auth::guard('school')->user()->idSchool;
            $room->roomName = $var['roomName'];
            $room->save();
        }
        DB::commit();
        flash('Data has been added successfully!!');
        if ($request->ajax()) {
            return response()->json(['success' => "SUCCESS"], 200, ['app-status' => 'success']);
        }
        return redirect('school/floor-rooms');
    }

    /**
     * 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) {
        $floors = \App\HostelFloor::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
                        ->orderBy('idFloor', 'desc')->get();
        $floor = \App\HostelFloor::where('idFloor', '=', $id)->first();
        return view('schools.hostel.floor_room', compact('floors', 'floor'));
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id) {
        $floor = \App\HostelFloor::where('idFloor', '=', $id)->first();
        $rules = [
            'floorName' => 'required|unique:hostel_floors,floorName,' . $id . ',idFloor,idSchool,' . Auth::guard('school')->user()->idSchool,
        ];
        $this->validate($request, $rules);
        $floor->fill($request->all());
        $floor->update();
        foreach ($request->rooms as $a => $v) {
            if ($v['roomName'] != null) {
                if (isset($v['idFloor'])) {
                    $room = \App\HostelRoom::where('idFloor', '=', $v['idFloor'])->first();
                } else {
                    $room = new \App\HostelRoom();
                }
                $room->idFloor = $floor->idFloor;
                $room->roomName = $v['roomName'];
                $room->save();
            }
        }
        return redirect('school/floor-rooms');
    }

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

    public function getRooms($id) {
        $rooms = \App\HostelRoom::where('idFloor', '=', $id)->get()->pluck('roomName','idRoom');
        return json_encode($rooms);
    }
    
    public function getBeds($id) {
        $beds = \App\HostelBed::where('idRoom', '=', $id)->get()->pluck('bedName','idBed');
        return json_encode($beds);
    }
}

Copyright © 2021 - 2025 IMMREX7