middleware('can:alumno.index')->only('index','show'); $this->middleware('can:alumno.create')->only('create','store'); $this->middleware('can:alumno.edit')->only('edit','update'); $this->middleware('can:alumno.destroy')->only('destroy'); } public function index() { $user = Auth::user(); $plantelesUsuario = $user->plantelUsuarios->pluck('id'); $alumnos = User::with(['alumnos' => function ($query) use ($user, $plantelesUsuario) { $query->where(function ($q) use ($user, $plantelesUsuario) { $q->where('usuario_registro', $user->id) ->orWhereHas('alumnos.plantelUsuarios', function ($sub) use ($plantelesUsuario) { $sub->whereIn('plantels.id', $plantelesUsuario); }); }); }]) ->whereHas('alumnos', function ($query) use ($user, $plantelesUsuario) { $query->where(function ($q) use ($user, $plantelesUsuario) { $q->where('usuario_registro', $user->id) ->orWhereHas('alumnos.plantelUsuarios', function ($sub) use ($plantelesUsuario) { $sub->whereIn('plantels.id', $plantelesUsuario); }); }); }) ->get(); return view('alumno.index', compact('alumnos')); } public function destroy(Alumno $alumno) { $user = $alumno->alumnos()->first(); if ($user) { $user->roles()->detach(); $user->plantelUsuarios()->detach(); $alumno->alumnos()->detach($user->id); $user->delete(); } $alumno->delete(); session()->flash('swal',[ 'icon'=>'success', 'title'=>'Eliminado!', 'text'=>'Se ha eliminado el registro correctamente' ]); return redirect()->route('alumno.index'); } }