queryBuilder 대신 createQuery()를 사용하여 쿼리를 작성하는 데 사용되지만 queryBuilder에서 쿼리를 변환하여 EntityType에서 생성해야합니다. 양식. 여기createQuery()에서 queryBuilder()로 쿼리를 변환하는 데 도움이 필요합니다.
SELECT p FROM D2ECoreBundle:Player p,
D2ECoreBundle:LadderMatch lm,
D2ECoreBundle:PlayerComposition hpc
JOIN hpc.players hp,
D2ECoreBundle:PlayerComposition fpc
JOIN fpc.players fp
WHERE (lm.homePlayerComposition = hpc AND hp = p)
OR (lm.foreignPlayerComposition = fpc AND fp = p)
하고 내가 그것을 queryBuilder하지만 나던 일을 할 것이라고 생각 무엇인가 : 여기 내 쿼리입니다
$qb->select('p')
->from('D2ECoreBundle:Player', 'p')
->from('D2ECoreBundle:LadderMatch', 'lm')
->from('D2ECoreBundle:PlayerComposition', 'hpc')
->join('hpc.players', 'hp')
->from('D2ECoreBundle:PlayerComposition', 'fpc')
->join('fpc.players', 'fp')
->where('lm.homePlayerComposition = hpc' AND 'hp = p')
->orwhere('lm.foreignPlayerComposition = fpc' AND 'fp = p');
사람이 내가 작업 한 것으로 변경해야하는지 알고 있나요? 대답은 고맙습니다!
플레이어는 LadderMatch를 포함하지 않습니다. 이것이 문제입니다. 그러나 thx 나는 나의 mystakes 중의 1 개를 얻는다. 래더 매치 카운트 2 PlayerComposition (Home et Foreign) 및 PlayerComposition에는 플레이어가 포함되어 있습니다. 하지만 난 선수를 원해! – copndz