Doctrine orm 使用FPNTagBundle轻松标记您的条令实体

Doctrine orm 使用FPNTagBundle轻松标记您的条令实体,doctrine-orm,symfony-2.1,Doctrine Orm,Symfony 2.1,我正在尝试在sf2.1项目中使用bundle。所有操作都作为文档(带注释)完成,但我遇到以下错误: 可捕获致命错误:参数1传递给 DoctrineExtensions\Taggable\TagManager::loadTagging()必须是 DoctrineExtensions\Taggable\Taggable的实例,的实例 Acme\TagBundle\Entity\Document已给定,在中调用 /project/src/Acme/TagBundle/Controller/Docume

我正在尝试在sf2.1项目中使用bundle。所有操作都作为文档(带注释)完成,但我遇到以下错误:

可捕获致命错误:参数1传递给 DoctrineExtensions\Taggable\TagManager::loadTagging()必须是 DoctrineExtensions\Taggable\Taggable的实例,的实例 Acme\TagBundle\Entity\Document已给定,在中调用 /project/src/Acme/TagBundle/Controller/DocumentController.php联机 111和定义于 /project/vendor/fpn/doctrine extensions taggable/lib/DoctrineExtensions/taggable/TagManager.php 第201行

另外,当我发送php应用程序/控制台原则:generate:entities-Acme时,我得到以下信息:

为命名空间“Acme”生成实体

[错误例外]

运行时通知:Acme\TagBundle\Entity\Tagging::setTag()的声明 应该与 DoctrineExtensions\Taggable\Entity\Tagging::setTag(DoctrineExtensions\Taggable\Entity\Tag $tag)在/projects/bazar/project/src/Acme/TagBundle/Entity/Tagging.php中 第22行


您能帮助我吗?

在您的文档实体中实现可标记接口

Class Document implement Taggable{
...
}

至于第二个问题,请删除标记和标记实体(Acme\TagBundle\Entity\tagging…)的功能。
不要为标记包生成实体。

是。好提示!这解决了主要问题。但是如何解决第二个错误呢?当我生成实体(全部,而不仅仅是单个实体)时,symfony生成的GETAG和setTag不正确。您找到解决方案了吗?