getClassName(); } public function getModelClass(): string { return Model::class; } public function getEntityClass(): string { return Entity::class; } public function getFormFieldOption(string $field, array $options = []): array { switch ($field) { default: $this->getModel()->orderBy($this->getModel()::TITLE, 'ASC'); $options = parent::getFormFieldOption($field, $options); break; } return $options; } public function create(array $formDatas, mixed $entity = null): Entity { $formDatas['role'] = implode(DEFAULTS["DELIMITER_ROLE"], $formDatas['role']); return parent::create($formDatas, $entity ?? new Entity()); } public function modify(mixed $entity, array $formDatas): Entity { // die(var_export($formDatas, true)); //암호를 입력하지 않았을시는 변경하기 않게 하기위함 if (isset($formDatas['passwd']) && $formDatas['passwd'] == "") { unset($formDatas['passwd']); unset($formDatas['confirmpassword']); } //Role을 지정이 있을경우에만 , toggle이나 batcjhjob에서는 없을수도 있으므로 if (isset($formDatas['role'])) { $formDatas['role'] = implode(DEFAULTS["DELIMITER_ROLE"], $formDatas['role']); } // die(var_export($formDatas, true)); return parent::modify($entity, $formDatas); } public function delete(mixed $entity): bool { return parent::delete($entity); } }