Doctrine behavior * translation entity error:没有为Entity指定的标识符/主键

时间:2017-02-17 16:20:30

标签: doctrine behavior

获取我的bundle的src / bundle版本后,它使用了docp /行为包的Knp可翻译。在原始包中我一切正常。 但是在打电话时:

app/console doctrine:schema:validate

会引发错误:

No identifier/primary key specified for Entity

2 个答案:

答案 0 :(得分:1)

问题似乎是听众没有加载。

添加到config.yml

- { resource: ../../vendor/knplabs/doctrine-behaviors/config/orm-services.yml }

做了诀窍:))

或者修改AppKernel的新方法:

class AppKernel
{
    function registerBundles()
    {
        $bundles = array(
            //...
                new Knp\DoctrineBehaviors\Bundle\DoctrineBehaviorsBundle(),
            //...
        );

        //...

        return $bundles;
    }
}

您也可以使用doctrine2 api注册它们:

<?php

$em->getEventManager()->addEventSubscriber(new     \Knp\DoctrineBehaviors\ORM\Translatable\TranslatableSubscriber);
// register more if needed

请参阅:https://github.com/KnpLabs/DoctrineBehaviors#subscribers

答案 1 :(得分:1)

knp behaviors documentation所述,它已被弃用。

new Knp\DoctrineBehaviors\Bundle\DoctrineBehaviorsBundle(),添加到AppKernel.php