Doctrine orm ORM错误:请求了未知的列类型varchar

Doctrine orm ORM错误:请求了未知的列类型varchar,doctrine-orm,Doctrine Orm,好的,我刚刚分配了一个新项目,它使用了条令和Zend。这是我第一次使用条令,我遇到了一个谷歌没有给出任何答案的错误。 我向表中添加了一个新字段(VARCHAR 17),在该表的实体中添加了getter/setter函数,然后运行orm:generate proxies 一切都很好,但现在我在尝试保存任何内容时遇到了这个错误:请求了未知的列类型varchar 有什么想法吗?首先了解条令命令 orm:生成实体以在实体文件中写入getter/setter函数, orm:schema工具:更新以更新数据

好的,我刚刚分配了一个新项目,它使用了条令和Zend。这是我第一次使用条令,我遇到了一个谷歌没有给出任何答案的错误。 我向表中添加了一个新字段(VARCHAR 17),在该表的实体中添加了getter/setter函数,然后运行orm:generate proxies

一切都很好,但现在我在尝试保存任何内容时遇到了这个错误:请求了未知的列类型varchar


有什么想法吗?

首先了解条令命令
orm:生成实体以在实体文件中写入getter/setter函数,
orm:schema工具:更新以更新数据库表,
您不应该手动完成这项工作,只需编写yaml/xml/php模式并运行它们

如果您使用将doctrine2与zf集成,则application.ini文件中必须有“adapterClass”和“mappingDirs[]”选项来描述模式文件的位置

在实体和架构文件中使用类型“string”而不是varchar。 我更喜欢yaml模式:

username:
  type: string
  length: 17

问题是,条令注释不知道底层数据库。因此,在本例中,您需要将字段标记为长度为17的类型字符串:

/**
* mySuperField
* \ORM\Column(name="mySuperField", type="string", length=17)
*/
$mySuperField;
有关如何映射实体属性的参考,请参见