/** * Handle the command. */ public function handle() { $model = $this->builder->getModel(); $entries = $this->builder->getEntries(); /** * If the builder has an entries handler * then call it through the container and * let it load the entries itself. */ if (is_string($entries) || $entries instanceof \Closure) { app()->call($entries, ['builder' => $this->builder]); } $entries = $this->builder->getTableEntries(); /** * If the entries have already been set on the * table then return. Nothing to do here. * * If the model is not set then they need * to load the table entries themselves. */ if (!$entries->isEmpty() || !$model) { return; } /** * Resolve the model out of the container. */ $repository = $this->builder->getRepository(); /** * If the repository is an instance of * TableRepositoryInterface use it. */ if ($repository instanceof TableRepositoryInterface) { $this->builder->setTableEntries($repository->get($this->builder)); } }
/** * Handle the command. * * @param Container $container */ public function handle(Container $container) { /** * Set the default options handler based * on the builder class. Defaulting to * no handler. */ if (!$this->builder->getRepository()) { $model = $this->builder->getTableModel(); if (!$this->builder->getRepository() && $model instanceof EntryModel) { $this->builder->setRepository($container->make(EntryTableRepository::class, compact('model'))); } elseif (!$this->builder->getRepository() && $model instanceof EloquentModel) { $this->builder->setRepository($container->make(EloquentTableRepository::class, compact('model'))); } } }