我正在使用php laravel框架和DMS。我试图在可以动态添加表单字段的页面中添加自定义表单字段。
在创建的实体类(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 动作“编辑”:找不到匹配的动作处理程序”