Я работаю в фреймворке php laravel и DMS. Я пытаюсь добавить настраиваемые поля формы на странице, где поле формы может быть добавлено динамически.
в созданном классе Entity (Test.php)
$class->property($this->enquiryAdditionalFields)->asType(AdditionalFormFields::collectionType());
AdditionalFormFields является классом типа ValueObject, где я определил имя поля.
в созданном классе EntityMapper (TestMapper.php):
$map->embeddedCollection(TEST::ENQUIRY_ADDITIONAL_FIELDS)
->toTable('enquery_additional_field')
->withPrimaryKey('id')
->withForeignKeyToParentAs('event_id')
->using(new AdditionalFormFieldsMapper());
Класс AdditionalFormFieldsMapper:
class AdditionalFormFieldsMapper extends IndependentValueObjectMapper
{
/**
* @param MapperDefinition $map
* @throws \Dms\Core\Exception\InvalidArgumentException
*/
protected function define(MapperDefinition $map)
{
$map->type(AdditionalFormFields::class);
$map->property(AdditionalFormFields::FIELD_NAME)->to('field_name')->asVarchar(255);
}
}
при добавлении нового поля из DMS я получаю сообщение об ошибке
«Не удалось обработать исключение действия типа
Doctrine \ DBAL \ Exception \ NotNullConstraintViolationException from
действие «редактировать»: не найден соответствующий обработчик действия «
Задача ещё не решена.
Других решений пока нет …