我试图解决FPNTagBundle的一个问题。这是DoctrineExtensions-Taggable的集成。我按照安装说明中的说明设置了所有内容,标记工作正在保存和加载。
我现在正在尝试加载给定标记/ tag_type的所有资源,并且遇到了一些问题。
在DoctrineExtensions-Taggable中,TagRepository.php
有以下方法:
/**
* Returns an array of ids (e.g. Post ids) for a given taggable
* type that have the given tag
*/
public function getResourceIdsForTag($taggableType, $tag)
我的代码实体extends \FPN\TagBundle\Entity\Tag;
FPN \ Tag实体extends DoctrineExtensions\Taggable\Entity\Tag
当我致电以下时间时:
$tagRepo = $em->getRepository('SixStringPearBundle:Tag');
$ids = $tagRepo->getResourceIdsForTag('icon_type', $tag);
我收到以下错误:
Undefined method 'getResourceIdsForTag'. The method name must start with either findBy or findOneBy!
如果我将其更改为:$em->getRepository('DoctrineExtensions\Taggable\Entity\Tag');
我收到以下错误:
The class 'DoctrineExtensions\Taggable\Entity\Tag' was not found in the chain configured namespaces SixString\PearBundle\Entity, FOS\UserBundle\Entity, FPN\TagBundle\Entity
有没有办法访问此存储库?我可以简单地在我的Bundle中创建一个新的Repo并复制代码,但我觉得有更好的方法。
另外,为什么我的包中找不到这个课程?它在FPN标记类extends