<?php namespace App\Http\Middleware; use App\Classes; use App\Subject; use Illuminate\Support\Facades\Auth; use Closure; class CheckClassesCode { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { $classes_code_from_request = $request->input('classes_code'); $classes = Classes::where('classes_code', $classes_code_from_request)->first(); if(!$classes) { return redirect('home'); } else { $user_id = Subject::where('id', $classes->subject_id)->first()->user_id; if (!$user_id || $user_id != Auth::id()) { return redirect('home'); } } $request->attributes->add(['classes_id' => $classes->id]); return $next($request); } }