public function readRoute(Route $route) { $this->route = $route; $actions = $route->actions(function (MorphedBy $actions) { $actions->getMiddleEntity()->joinPermissionTo('read'); }); $actions->each(function (ActionRecord $action) { $this->addAction($action->pivot->variable->slug, $action->class, $action->method, ['content' => $action->pivot->content, 'settings' => $action->pivot->settings, 'route' => $this->route], $action->pivot->order); }); if ($route->layout) { $layoutActions = $route->layout->actions(function (MorphedBy $actions) { $actions->getMiddleEntity()->joinPermissionTo('read'); }); $layoutActions->each(function (ActionRecord $action) { $this->addAction($action->pivot->variable->slug, $action->class, $action->method, ['content' => $action->pivot->content, 'settings' => $action->pivot->settings, 'route' => $this->route], $action->pivot->order); }); } }