public function transform(Menu $data) { $return = []; $permission = \App\Api\Model\Permission::all(); foreach ($permission as $key => $value) { $name = $value->name . 'ed'; $return[$value->name] = $data->{$name}; } return ['id' => (int) $data->id, 'name' => $data->name, 'id_parent' => $data->id_parent, 'url' => $data->url, 'icon' => $data->icon] + $return; }
/** * get his permission */ public function MenuPermission($id_role) { $this->id_role = $id_role; $data = new \App\Api\Model\Menu(); $permission = \App\Api\Model\Permission::all(); foreach ($permission as $key => $value) { $this->value = $value; $data = $data->leftJoin('role_permissions as ' . $value->name, function ($join) { $join->on(DB::raw($this->value->name . '.id_menu'), '=', 'menus.id')->where(DB::raw($this->value->name . '.id_role'), '=', $this->id_role)->where(DB::raw($this->value->name . '.id_permission'), '=', $this->value->id); })->addSelect(DB::raw($value->name . '.id as ' . $value->name . 'ed')); } return $data->addSelect('menus.id', 'menus.name', 'menus.id_parent', 'menus.url')->orderBy('menus.id_parent')->orderBy('menus.order')->get(); }
/** * get his permission */ public function MenuRolePermission() { $user = JWTAuth::parseToken()->authenticate(); $this->id_role = $user->id_role; $data = new \App\Api\Model\Menu(); $permission = \App\Api\Model\Permission::all(); foreach ($permission as $key => $value) { $this->value = $value; $data = $data->leftJoin('role_permissions as ' . $value->name, function ($join) { $join->on(DB::raw($this->value->name . '.id_menu'), '=', 'menus.id')->where(DB::raw($this->value->name . '.id_role'), '=', $this->id_role)->where(DB::raw($this->value->name . '.id_permission'), '=', $this->value->id); })->addSelect(DB::raw($value->name . '.id as ' . $value->name . 'ed')); } return $data->addSelect('menus.id', 'menus.name', 'menus.id_parent', 'menus.url', 'menus.icon', 'menus.order')->where('view.id', '>', '0')->orderBy('menus.id_parent')->orderBy('menus.order'); }