Doctrine에서 왼쪽 조인 수행
Doctrine은 왼쪽 조인 수행 기능을 포함하여 SQL 쿼리 생성 및 실행을 위한 포괄적인 기능을 제공합니다. 이 문서에서는 Doctrine을 사용하여 왼쪽 조인을 수행하는 방법을 설명하고 코드에서 발생할 수 있는 문제를 해결합니다.
왼쪽 조인 구문
엔티티 간 연결을 활용할 때 왼쪽 조인의 구문은 간단합니다.
<code class="php">public function getHistory($users) { $qb = $this->entityManager->createQueryBuilder(); $qb ->select('a', 'u') ->from('Credit\Entity\UserCreditHistory', 'a') ->leftJoin('a.user', 'u') ->where('u = :user') ->setParameter('user', $users) ->orderBy('a.created_at', 'DESC'); return $qb->getQuery()->getResult(); }</code>
이 예에서는 조건이 조인된 결과에 적용되므로 왼쪽 조인이 사용되는지 아니면 단순히 조인이 사용되는지 여부와 관련이 없습니다.
연결 없이 왼쪽 조인
연결을 사용할 수 없는 경우 왼쪽 조인 쿼리는 다음과 유사합니다.
<code class="php">public function getHistory($users) { $qb = $this->entityManager->createQueryBuilder(); $qb ->select('a', 'u') ->from('Credit\Entity\UserCreditHistory', 'a') ->leftJoin( 'User\Entity\User', 'u', \Doctrine\ORM\Query\Expr\Join::WITH, 'a.user = u.id' ) ->where('u = :user') ->setParameter('user', $users) ->orderBy('a.created_at', 'DESC'); return $qb->getQuery()->getResult(); }</code>
이 쿼리 결과는 다음과 유사한 배열이 됩니다.
<code class="php">array( array( 0 => UserCreditHistory instance, 1 => Userinstance, ), array( 0 => UserCreditHistory instance, 1 => Userinstance, ), // ... )</code>
위 내용은 교리: 코드 예제가 포함된 안내서에서 왼쪽 조인을 수행하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!