/**
  * 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));
     }
 }
 /**
  * Build the rows.
  *
  * @param TableBuilder $builder
  */
 public function build(TableBuilder $builder)
 {
     foreach ($builder->getTableEntries() as $entry) {
         $columns = $this->columns->build($builder, $entry);
         $buttons = $this->buttons->build($builder, $entry);
         $buttons = $buttons->enabled();
         $row = compact('columns', 'buttons', 'entry');
         if ($entry instanceof Model) {
             $row['key'] = $entry->getKey();
         }
         $row['table'] = $builder->getTable();
         $row = $this->evaluator->evaluate($row, compact('builder', 'entry'));
         $builder->addTableRow($this->factory->make($row));
     }
 }