|
@@ -23,24 +23,26 @@ class MenuApi {
|
|
|
|
|
|
public static function getMenuListByRoleid($roleid) {
|
|
public static function getMenuListByRoleid($roleid) {
|
|
$role = Role::find($roleid);
|
|
$role = Role::find($roleid);
|
|
- $menu_ids = $role->sysRelation->column("menuid");
|
|
|
|
- $where[] = ["status", "=", 1];
|
|
|
|
- $where[] = ["ismenu", "=", 1];
|
|
|
|
- $where[] = ["new_url", "<>", ""];
|
|
|
|
- $where[] = ["id", "in", $menu_ids];
|
|
|
|
- $whr[] = ["levels", "=", 1];
|
|
|
|
- $menus = Menu::whereOr([$where, $whr])->order("levels asc,num asc")->select()->toArray();
|
|
|
|
- $menus = self::buildMenu($menus);
|
|
|
|
$tmp = [];
|
|
$tmp = [];
|
|
- for ($i = 0; $i < count($menus); $i++) {
|
|
|
|
- $menu_items_count = count($menus[$i]["children"]);
|
|
|
|
- $empty_url_count = 0;
|
|
|
|
- for ($n = 0; $n < $menu_items_count; $n++) {
|
|
|
|
- if ($menus[$i]["children"][$n]["new_url"] == null)
|
|
|
|
- $empty_url_count++;
|
|
|
|
|
|
+ if ($role) {
|
|
|
|
+ $menu_ids = $role->sysRelation->column("menuid");
|
|
|
|
+ $where[] = ["status", "=", 1];
|
|
|
|
+ $where[] = ["ismenu", "=", 1];
|
|
|
|
+ $where[] = ["new_url", "<>", ""];
|
|
|
|
+ $where[] = ["id", "in", $menu_ids];
|
|
|
|
+ $whr[] = ["levels", "=", 1];
|
|
|
|
+ $menus = Menu::whereOr([$where, $whr])->order("levels asc,num asc")->select()->toArray();
|
|
|
|
+ $menus = self::buildMenu($menus);
|
|
|
|
+ for ($i = 0; $i < count($menus); $i++) {
|
|
|
|
+ $menu_items_count = count($menus[$i]["children"]);
|
|
|
|
+ $empty_url_count = 0;
|
|
|
|
+ for ($n = 0; $n < $menu_items_count; $n++) {
|
|
|
|
+ if ($menus[$i]["children"][$n]["new_url"] == null)
|
|
|
|
+ $empty_url_count++;
|
|
|
|
+ }
|
|
|
|
+ if ($empty_url_count != $menu_items_count)
|
|
|
|
+ $tmp[] = $menus[$i];
|
|
}
|
|
}
|
|
- if ($empty_url_count != $menu_items_count)
|
|
|
|
- $tmp[] = $menus[$i];
|
|
|
|
}
|
|
}
|
|
return $tmp;
|
|
return $tmp;
|
|
}
|
|
}
|