public function options() { $user = \Auth::user(); //obtengo los id de los modulos del perfil del usuario $modules = explode(',', $user->type->activated_modules); //se guardan en un array de string //obtengo los id de submodulos del perfil del usuario $submodules = explode(',', $user->type->activated_submodules); //recorro el array de string modules foreach ($modules as $value) { //obtengo el modulo (value es el id) $module = Module::find($value); //recorro los submodules para guardarlos en un array foreach ($submodules as $id) { $submodule = Submodule::find($id); //tambien se puede usar $submodule->module->id por la relacion de tablas if ($module->id == $submodule->module_id) { $submoduleArray[] = ['description' => $submodule->description, 'url' => $submodule->url]; } } //se rellena el array final $options[] = ['description' => $module->description, 'icon' => $module->icon, 'submodule' => $submoduleArray]; $submoduleArray = []; } return $options; }
private function addModulesSubmodules($request) { $centinel = ['1' => 0, '2' => 0, '3' => 0, '4' => 0, '5' => 0, '6' => 0]; $allsub = Submodule::get(); foreach ($allsub as $submod) { if ($request->has($submod->description)) { if ($centinel[$submod->module_id] == 0) { $this->modules .= empty($this->modules) ? $submod->module_id : ',' . $submod->module_id; $centinel[$submod->module_id] = 1; } $this->submodules .= empty($this->submodules) ? $submod->id : ',' . $submod->id; } } }