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

时间:2013-01-26 16:52:10

标签: doctrine-orm symfony-2.1

我正在尝试在sf2.1项目中使用https://github.com/FabienPennequin/FPNTagBundle 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 app / console doctrine时:generate:entities Acme我得到了这个:

  

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

     

[ErrorException]

     

运行时通知:声明Acme \ TagBundle \ Entity \ Tagging :: setTag()   应该兼容   DoctrineExtensions \加标签\实体\标记:: setTag(DoctrineExtensions \加标签\实体\标签   /projects/bazar/project/src/Acme/TagBundle/Entity/Tagging.php中的$ tag)   第22行

你可以帮帮我吗?

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

在您的文档实体

中实现Taggable接口
Class Document implement Taggable{
...
}