교리: 코드 예제가 포함된 안내서에서 왼쪽 조인을 수행하는 방법

Mary-Kate Olsen
풀어 주다: 2024-10-30 05:02:02
원래의
347명이 탐색했습니다.

How to Perform Left Joins in Doctrine: A Guide with Code Examples

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!