【问题标题】:Tag your Doctrine entities easily with FPNTagBundle使用 FPNTagBundle 轻松标记您的 Doctrine 实体
【发布时间】:2013-01-10 10:36:00
【问题描述】:

我正在尝试在 sf2.1 项目中使用 https://github.com/FabienPennequin/FPNTagBundle 捆绑包。全部作为文档完成(带有注释),但我收到此错误:

可捕获的致命错误:参数 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 dictionary: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 行

你能帮帮我吗?

【问题讨论】:

  • 你找到解决办法了吗?

标签: doctrine-orm symfony-2.1


【解决方案1】:

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

Class Document implement Taggable{
...
}

【讨论】:

  • 是的。好提示!这解决了主要问题。但是如何解决第二个错误?当我生成实体(全部,不仅仅是单个实体)时,symfony 生成不正确的 getTag 和 setTag。
【解决方案2】:

至于第二个问题,请去掉你的tagging和tag entity(Acme\TagBundle\Entity\Tagging...)的功能。 不要为您的标签包生成实体。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-22
    • 2011-01-30
    • 1970-01-01
    • 1970-01-01
    • 2019-05-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多