public function scopeGetParentFromMenu($query, $id = null) { $menu = $id ? Menu::find($id) : Menu::getActiveMenu(); if (!$menu) { return $query; } $cildMenus = $menu->descendantsAndSelf()->get(); $list = []; $ids = [$menu->id]; $ids_not = $menu->page_id ? [$menu->page_id] : []; foreach ($cildMenus as $val) { //echo $val->id.' '; $ids[] = $val->id; if ($val->page_id) { $ids_not[] = $val->page_id; } } if (sizeof($ids) > 0) { $query->whereIn('menu_id', $ids)->whereNotIn('id', $ids_not); } return $query; }