App\Source\ModelFieldBuilder\BuildFields::build PHP Метод

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

public build ( )
    public function build()
    {
        if (!$this->arAllFields || $this->buildet) {
            return $this;
        }
        foreach ($this->arAllFields as $sort => $field) {
            if (isset($this->arFields[$field])) {
                continue;
            }
            $obj = $this->makeDefault($field);
            $this->add($obj);
            if (in_array($this->lastItemNameAdd->name, $this->defaultNoVisibleField)) {
                $this->lastItemNameAdd->noVisible();
            }
        }
        if (!isset($this->arFields['default'])) {
            $this->add($this->defaultObject);
        }
        uasort($this->arFields, function ($a, $b) {
            if ($a->sort == $b->sort) {
                return strcmp($a->name, $b->name);
            }
            return $a->sort < $b->sort ? -1 : 1;
        });
        $this->buildet = true;
        return $this;
    }

Usage Example

Пример #1
0
 public function edit(request $req, $res, $args)
 {
     $this->initRoute($req, $res);
     $model = ModelsFactory::getModelWithRequest($req);
     $this->data['fields'] = $this->getFields($model->getColumnsNames(), ['id']);
     $this->data['fieldsValues'] = $model->find($args['id']);
     $this->data['type_link'] = $this->data['save_link'];
     $builder = new BuildFields();
     $builder->setFields($model->getColumnsNames())->addJsonShema($model->getAnnotations());
     $builder->build();
     $builder->setType('id', 'hidden');
     foreach ($this->data['fields'] as $name) {
         $builder->getField($name)->setValue($this->data['fieldsValues']->{$name});
     }
     $this->data['ttt'] = $builder->getAll();
     $this->render('admin\\addTables.twig');
 }
All Usage Examples Of App\Source\ModelFieldBuilder\BuildFields::build