6

我试图让 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

4

1 回答 1

2

在生成实体 getter/setter 之前,您可以尝试禁用 app/config/config.yml 中的 stofdoctrineextensions,如下所示:

mappings:
        StofDoctrineExtensionsBundle: false

看起来实体生成器还不支持外部映射。

于 2011-09-07T08:24:11.180 回答