관련 엔티티 및 해당 저장소-선택적으로 엔티티로드

후작 테일러

몇 개의 연관이있는 엔티티가 몇 개 있습니다. 이제 잘로드되고 있습니다. 그래서 기본적으로 주소 엔티티와 관련된 고객 엔티티가 있습니다. 고객과 관련된 영수증 거래도 있습니다.

작은 고객 세트를 검색 할 때 관련 영수증을 검색하고 싶지만 그 세트는 엄청납니다. 지난 2 주 동안의 영수증 만 원합니다.

커스텀 리포지토리를 사용한 다음 customer-> getRecentReceipts ()와 같은 함수를 사용할 수 있다고 생각했지만 고객 엔티티가 리포지토리에 대해 알지 못하기 때문에 작동하지 않습니다. 그리고이 포럼에서 읽은 사람들은 저장소를 이런 식으로 사용하지 말라고 말하는 것 같습니다. 영수증 엔터티의로드를 제한하려면 어떻게 구성해야합니까? 나는 모든 것을로드 한 다음 PHP 루틴으로 정렬하는 것을 피하려고합니다.

Richard

이를 위해 리포지토리 메소드를 만드는 것은 잘못된 것이 아닙니다. 당신은하지 않습니다 그 영수증을 얻기 위해 고객 엔티티와 직접 거래 할 수 있습니다.

ReceiptRepository에서 다음과 같은 간단한 방법을 만들 것입니다 (구문이 옳지 않을 수 있습니다. 지금은 IDE가 편리하지 않습니다)

getReceiptsForCustomerByDate(Customer $customer, \DateTime $createdAfter=null) {

    if (!$createdAfter instanceof \DateTime) {

        $createdAfter = new \DateTime('now -2 weeks');
    }

    $qb = $this->getEntityManager()->createQueryBuilder();

    return $qb->select('c, r')
        ->from('YourBundle:Customer', 'c')
        ->join('c.receipt', 'r')
        ->where($qb->expr()->eq('c', ':customer')
        ->andWhere($qb->expr()->gt('r.createdAt', ':createdAfter')
        ->setParameter('createdAfter', $createdAfter)
        ->setParameter('customer', $customer)
        ->getQuery()->getResult();

}

위는 가져온 고객 엔티티가 관련 영수증 보유 함을 의미합니다 . 영수증을 지연로드하지 않았기 때문에 $ customer-> getReceipts ()는 날짜별로 지정한 영수증 만 반환합니다.

아니요, Customer 엔터티에서 호출 할 수는 없지만 컨트롤러 메서드에서 호출 할 수없는 이유는 없습니다. 이것은 Symfony에서 작업을 수행하는 완벽하게 유효한 방법입니다.

고객 배열을 전달하여 많은 고객 영수증을 받도록 쉽게 수정할 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

관련 엔티티로드

분류에서Dev

관계 엔티티 저장이있는 새 엔티티로 인해 중복 버그가 발생 함-CoreData Swift

분류에서Dev

엔티티 프레임 워크 항목로드 관련 엔티티

분류에서Dev

엔티티 당 연속 값 및 관련 위치-R

분류에서Dev

관계 엔티티없이 JPA 저장소 선택

분류에서Dev

Moq, NUnit 및 Entity Framework를 사용하여 저장된 엔티티 다시로드

분류에서Dev

로 엔티티를 저장 일대 다 관계

분류에서Dev

다른 엔티티의 관계로 엔티티 찾기

분류에서Dev

다른 엔티티의 관계로 엔티티 찾기

분류에서Dev

EF-관련 엔티티가로드되지 않음

분류에서Dev

linq를 엔티티에 사용하여 관련 엔티티를 기반으로 레코드 가져 오기

분류에서Dev

교리-엔티티 A와 관련 엔티티 B 및 C 간의 관계

분류에서Dev

코드로 NHibernate-저장되지 않은 (일시적인) 자식 엔티티가있는 엔티티 저장

분류에서Dev

교리 엔티티 관리자로 새 요소를 만드시겠습니까?

분류에서Dev

다 대다 관계로드 및 엔터티에 매핑

분류에서Dev

Typeorm-왼쪽 조인 및 관계 엔티티 만 선택

분류에서Dev

원격 저장소에 아티팩트 및 해당 종속성 업로드

분류에서Dev

@ManyToMany 관계로 엔티티 결합

분류에서Dev

Hibernate를 사용하여 관련 Null 객체로 엔티티를 저장하는 방법

분류에서Dev

Waterline ORM으로 관련 엔티티 찾기 또는 생성

분류에서Dev

엔티티 ID로 엔티티 검색

분류에서Dev

저장된 엔터티 및 해당 자식 속성에서 Entity Framework를 사용하여 CreatedOn 필드를 자동으로 설정하는 방법

분류에서Dev

엔터티 프레임 워크 및 저장 프로 시저

분류에서Dev

5.2으로 업그레이드 최대 절전 모드 - 세션 공장을 생성 및 교체 PersistentClass을 엔티티 클래스 속성을 얻기 위해

분류에서Dev

핵심 데이터 : 관련 엔티티의 속성을 기반으로 엔티티를 가져 오는 방법

분류에서Dev

기본 엔티티의 공통 식별자를 기반으로 관련 엔티티 필터링

분류에서Dev

EF Eager는 관련 엔터티에서 관련 엔터티를로드합니다.

분류에서Dev

in Include를 사용하여 관련 데이터 엔티티 ef Core 3.1로드

분류에서Dev

엔티티 프레임 워크-관련 개체와 함께 개체로드

Related 관련 기사

  1. 1

    관련 엔티티로드

  2. 2

    관계 엔티티 저장이있는 새 엔티티로 인해 중복 버그가 발생 함-CoreData Swift

  3. 3

    엔티티 프레임 워크 항목로드 관련 엔티티

  4. 4

    엔티티 당 연속 값 및 관련 위치-R

  5. 5

    관계 엔티티없이 JPA 저장소 선택

  6. 6

    Moq, NUnit 및 Entity Framework를 사용하여 저장된 엔티티 다시로드

  7. 7

    로 엔티티를 저장 일대 다 관계

  8. 8

    다른 엔티티의 관계로 엔티티 찾기

  9. 9

    다른 엔티티의 관계로 엔티티 찾기

  10. 10

    EF-관련 엔티티가로드되지 않음

  11. 11

    linq를 엔티티에 사용하여 관련 엔티티를 기반으로 레코드 가져 오기

  12. 12

    교리-엔티티 A와 관련 엔티티 B 및 C 간의 관계

  13. 13

    코드로 NHibernate-저장되지 않은 (일시적인) 자식 엔티티가있는 엔티티 저장

  14. 14

    교리 엔티티 관리자로 새 요소를 만드시겠습니까?

  15. 15

    다 대다 관계로드 및 엔터티에 매핑

  16. 16

    Typeorm-왼쪽 조인 및 관계 엔티티 만 선택

  17. 17

    원격 저장소에 아티팩트 및 해당 종속성 업로드

  18. 18

    @ManyToMany 관계로 엔티티 결합

  19. 19

    Hibernate를 사용하여 관련 Null 객체로 엔티티를 저장하는 방법

  20. 20

    Waterline ORM으로 관련 엔티티 찾기 또는 생성

  21. 21

    엔티티 ID로 엔티티 검색

  22. 22

    저장된 엔터티 및 해당 자식 속성에서 Entity Framework를 사용하여 CreatedOn 필드를 자동으로 설정하는 방법

  23. 23

    엔터티 프레임 워크 및 저장 프로 시저

  24. 24

    5.2으로 업그레이드 최대 절전 모드 - 세션 공장을 생성 및 교체 PersistentClass을 엔티티 클래스 속성을 얻기 위해

  25. 25

    핵심 데이터 : 관련 엔티티의 속성을 기반으로 엔티티를 가져 오는 방법

  26. 26

    기본 엔티티의 공통 식별자를 기반으로 관련 엔티티 필터링

  27. 27

    EF Eager는 관련 엔터티에서 관련 엔터티를로드합니다.

  28. 28

    in Include를 사용하여 관련 데이터 엔티티 ef Core 3.1로드

  29. 29

    엔티티 프레임 워크-관련 개체와 함께 개체로드

뜨겁다태그

보관