Symfony crud edict:无法加载类型“datetime”


Symfony crud edict : Could not load type "datetime"

上下文:

我用symfony 3创建了一个项目。我的数据库有一个带有字段日期时间的表

使用此命令,我为一个表创建一个简单的 CRUD 应用程序

php bin/console doctrine:mapping:import --force adminBundle xml
php bin/console doctrine:mapping:convert annotation ./src
php bin/console doctrine:generate:entities adminBundle
php bin/console generate:doctrine:crud

错误:

所以我的 crud 完成了,但是当我编辑一行时会抛出错误

无法加载类型"日期时间"500 内部服务器错误 - InvalidArgumentException

堆栈跟踪

  in vendor/symfony/symfony/src/Symfony/Component/Form/FormRegistry.php at line 87

我认为无法加载类型"datetme",我尝试在我的 services.yml 的服务部分中注册我的表单,但我不知道该怎么做? 对于类型日期时间。

知道吗?提前谢谢。

似乎是

CRUD 生成器中的一个错误。它使用类型别名而不是完全限定的类名:

$builder->add('fieldName', 'textarea');

从Symfony 3.0开始,完全限定的类名是必需的:

$builder->add('fieldName', DateTimeType::class);

请检查生成的表单类型。

>谢尔盖,谢谢你指出这一点。我不确定为什么,但是指定完全限定的类名并没有解决我的问题。一起删除日期时间别名确实如此。

改变:

$builder
  ->add('name')
  ->add('time', 'datetime')
  ->add('location')
;

自:

$builder
  ->add('name')
  ->add('time')
  ->add('location')
;

symfony 3.0v菲律宾比索 5.6V

Symfony''Component''Form''Extension''Core''Type''DateTimeType;

->add('perfecnacimiento', DateTimeType::class)