我正在尝试运行Stof \ DoctrineExtensionsBundle以便能够轻松使用DoctrineExtensions。但是,PHP解释器告诉我:
没有为实体'Stof \ DoctrineExtensionsBundle \ Entity \ Translation'指定标识符/主键。每个实体必须具有标识符/主键。
有谁知道如何规避这个问题?我想它可能在Doctrine2的注释中某处,但我不太了解它并且已经有一个“orm:index”值(用“orm:Id”重命名,这似乎是所需的值,不行。)。
这是DoctrineExtensions附带的Translation实体类的代码:
/**
* Stof\DoctrineExtensionsBundle\Entity\Translation
*
* @orm:Entity(repositoryClass="Gedmo\Translatable\Entity\Repository\TranslationRepository")
* @orm:Table(
* name="ext_translations",
* indexes={@orm:index(name="translations_lookup_idx", columns={
* "locale", "object_class", "foreign_key"
* })},
* uniqueConstraints={@orm:UniqueConstraint(name="lookup_unique_idx", columns={
* "locale", "object_class", "foreign_key", "field"
* })}
* )
*/
class Translation extends AbstractTranslation
{
}
顺便说一下,如果这有助于任何事情,那就是git存储库。但我无法在文档中找到这一点:https://github.com/stof/DoctrineExtensionsBundle
答案 0 :(得分:2)
您可以尝试在app / config / config.yml中禁用stofdoctrineextensions,然后再生成像这样的实体getter / setter:
mappings:
StofDoctrineExtensionsBundle: false
看起来实体生成器还不支持外部映射。