6

DoctrineExtensions を簡単に使用できるように、Stof\DoctrineExtensionsBundle を実行しようとしています。ただし、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

次のようにエンティティのゲッター/セッターを生成する前に、app/config/config.yml で stofdoctrineextensions を無効にすることができます。

mappings:
        StofDoctrineExtensionsBundle: false

エンティティ ジェネレーターはまだ外部マッピングをサポートしていないようです。

于 2011-09-07T08:24:11.180 に答える