クエリをカスタム リポジトリ クラスに移動しようとしています。ここに私がこれまでに持っているものがあります
class MovieRepository extends EntityRepository
{
public function showMovie($movie)
{
$em = $this->getEntityManager();
$qb = $em->createQueryBuilder('m');
$query = $qb->select('m.title', 'm.img', 'u.username')
->where('m.title = :movie')
->leftJoin('m.user', 'u')
->setParameter('movie', $movie)
->getQuery();
return $query->getSingleResult();
}
}
コントローラーで次のように使用します。
$em = $this->getDoctrine()->getManager();
$result = $em->getRepository('AMovieBundle:Movie')->showMovie($movie);
@ORM\Entity(repositoryClass="A\MovieBundle\Entity\MovieRepository") をエンティティに配置しましたが、名前空間とフォルダーは正しく、映画からユーザーへの関係は以前に機能していたので正しいです。コントローラーにクエリがありました。
私が取得し続ける主なエラーは次のとおりです。
注意: 未定義のオフセット: /Applications/MAMP/htdocs/symfony2test/vendor/doctrine/orm/lib/Doctrine/ORM/QueryBuilder.php 行 271 の 0
クエリ ビルダーの 271 行目は次のとおりです。
public function getRootAlias()
{
$aliases = $this->getRootAliases();
return $aliases[0];
}
ここからどこへ行けばいいのかわからないので、助けていただければ幸いです。