上下文
我使用symfony创建一个项目3.我的数据库有一个表格,其中包含 datetime
字段使用此命令,我为一个表
创建一个简单的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已经完成,但是当我编辑一行时会抛出错误
无法加载类型“datetime”500内部服务器错误 - InvalidArgumentException
堆栈跟踪
in vendor/symfony/symfony/src/Symfony/Component/Form/FormRegistry.php at line 87
我认为无法加载类型“datetme”,我尝试在我的services.yml的部分服务中注册我的表单,但我不知道怎么做?对于日期时间类型。
有什么想法吗?提前谢谢。
答案 0 :(得分:22)
看起来像CRUD生成器中的错误。它使用类型别名而不是完全限定的类名:
$builder->add('fieldName', 'textarea');
从Symfony 3.0开始,需要完全限定的类名:
$builder->add('fieldName', DateTimeType::class);
请检查生成的表单类型。
答案 1 :(得分:2)
<强>更改:强>
$builder
->add('name')
->add('time', 'datetime')
->add('location')
;
要强>
$builder
->add('name')
->add('time')
->add('location')
;
答案 2 :(得分:-1)
symfony 3.0v php 5.6v
的Symfony \元器件\表格\扩展\核心\型号\ DateTimeType;
- &gt; add(&#39; perfecnacimiento&#39;,DateTimeType :: class)