我正在与symfony2合作,我正在使用Doctrine从现有数据库创建实体。看起来一切都很好,除了这个语法错误:
语法错误,意想不到的'函数',期望'标识符'
我一直在寻找一个解决方案,似乎大多数时候是一个打字错误的原因。但是这些代码都是由Doctrine生成的,我没有看到任何错别字……下面是出现错误的类,特别是在' class Function':
<?php
namespace IntoPeopleDatabaseBundleEntity;
use DoctrineORMMapping as ORM;
/**
* Function
*
* @ORMTable(name="Function")
* @ORMEntity
*/
class Function
{
/**
* @var string
*
* @ORMColumn(name="Name", type="string", length=250, nullable=false)
*/
private $name;
/**
* @var integer
*
* @ORMColumn(name="Id", type="integer")
* @ORMId
* @ORMGeneratedValue(strategy="IDENTITY")
*/
private $id;
}
实际上,由于引号,您可以使用它,而不管它是保留字:http://doctrine-orm.readthedocs.org/en/latest/reference/basic-mapping.html#quoting-reserved-words
/**
* Function
*
* @ORMTable(name="`Function`")
* @ORMEntity
*/
class Function
{
Ok,我不允许使用'Function'作为表名。