쿼리를 사용자 정의 저장소 클래스로 이동하려고합니다. 나는 @ORM \ 엔티티 (repositoryClass = "A \ MovieBundle \ 엔티티 \를 넣어 않았다Symfony2의 사용자 정의 저장소 문제 - 알림 : 정의되지 않은 오프셋 : 0
$em = $this->getDoctrine()->getManager();
$result = $em->getRepository('AMovieBundle:Movie')->showMovie($movie);
: 여기에 지금까지 내가 내 컨트롤러에서 다음과 같이 사용
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();
}
}
있어 무엇인가 MovieRepository ") 내 네임 스페이스와 네임 스페이스와 폴더가 정확하고, 영화에서 사용자에 이르기까지의 내 관계가 정확합니다.
주의 사항 :
내가 점점 계속 주요 오류는이 오프셋 정의되지 않은 : 0 /Applications/MAMP/htdocs/symfony2test/vendor/doctrine/orm/lib/Doctrine/ORM/QueryBuilder.php에
public function getRootAlias() { $aliases = $this->getRootAliases(); return $aliases[0]; }
내가 당장 어떤 도움을 크게 감상 할 수 아무 생각이 없습니다 : 쿼리 빌더 라인 (271)
라인 (271)이있다.
좋은 아이디어지만, 시도했지만 문제가 해결되지 않아 여전히 동일한 오류가 발생합니다. 하지만 그것은 더 깨끗해 보였고 가능했다는 것을 몰랐다. 그래서 지금부터 내가 선택한 구문을 쓸 것이다. –
내 대답을 편집 했으므로 문제가 해결 될 것입니다. –
그것은 작동합니다, merci beaucoup. –