fields() публичный Метод

Get fields of this builder.
public fields ( ) : Collection
Результат Illuminate\Support\Collection
Пример #1
0
 /**
  * Generate a Field object and add to form builder if Field exists.
  *
  * @param string $method
  * @param array $arguments
  * @return \Encore\Admin\Field
  */
 public function __call($method, $arguments)
 {
     $className = __NAMESPACE__ . '\\Form\\Field\\' . ucfirst($method);
     if (class_exists($className)) {
         $column = $arguments[0];
         $element = new $className($column, array_slice($arguments, 1));
         $this->builder->fields()->push($element);
         return $element;
     }
 }
Пример #2
0
 /**
  * Get all relations of model from callable.
  *
  * @return array
  */
 public function getRelations()
 {
     $relations = $columns = [];
     foreach ($this->builder->fields() as $field) {
         $columns[] = $field->column();
     }
     foreach (array_flatten($columns) as $column) {
         if (str_contains($column, '.')) {
             list($relation) = explode('.', $column);
             if (method_exists($this->model, $relation) && $this->model->{$relation}() instanceof Relation) {
                 $relations[] = $relation;
             }
         } elseif (method_exists($this->model, $column)) {
             $relations[] = $column;
         }
     }
     return array_unique($relations);
 }