FPNTagBundle に関する問題に頭を悩ませようとしています。これは DoctrineExtensions-Taggable の統合です。インストール手順に記載されているとおりにすべてをセットアップしましたが、保存と読み込みの両方でタグ付けが機能しています。
特定の tag/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
このリポジトリにアクセスする方法はありますか? バンドルに新しいレポを作成してコードをコピーするだけで済みますが、もっと良い方法があると思います。
また、バンドルにクラスが見つからないのはなぜですか? FPNタグクラス内にfindをロードしましたextends