Stof\DoctrineExtensionsBundle: отсутствует идентификатор/первичный ключ для Doctrine2

Я пытаюсь запустить Stof\DoctrineExtensionsBundle, чтобы иметь возможность легко использовать DoctrineExtensions. Однако интерпретатор PHP говорит мне:

No identifier/primary key specified for Entity 'Stof\DoctrineExtensionsBundle\Entity\Translation'. Every Entity must have an identifier/primary key.

Кто-нибудь знает, как обойти эту проблему? Я предполагаю, что это возможно где-то в аннотациях Doctrine2, но я не очень понимаю, и там уже есть значение "orm:index" (переименование его на "orm:Id", которое кажется требуемым значением, делает не работа).

Это код класса сущностей Translation, поставляемый с DoctrineExtensions:

/**
 * 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


person aufziehvogel    schedule 01.04.2011    source источник


Ответы (1)


Вы можете попробовать отключить расширения stofdoctrineextensions в своем приложении/config/config.yml, прежде чем генерировать свои геттеры/сеттеры сущностей следующим образом:

mappings:
        StofDoctrineExtensionsBundle: false

Похоже, генератор сущностей еще не поддерживает внешнее сопоставление.

person oxidec    schedule 07.09.2011
comment
Если кто-то знает, что это работает, пожалуйста, скажите мне. Я хотел бы принять ответ, но я больше не работаю над своим проектом symfony2. - person aufziehvogel; 02.01.2012