public function afterValidate() { $size = count($this->tableBuilder->fields); foreach ($this->behaviorModels as $_name => $_next) { if ($_next->checked && isset($this->autoCreateField[$_next->alias])) { foreach ($this->autoCreateField[$_next->alias] as $field) { /** @var $field Field */ $_next->name = $_next[$field['name']]; $res = $this->addNewField($_next[$field->name], $field->type, $field->comment, $field->related_table, $field->related_field, $field->length); $index = is_bool($res['index']) ? $size++ : $res['index']; $this->tableBuilder->fields[$index] = $res['field']; } } } parent::afterValidate(); }