1
Doctrine 1.2를 사용하는 레거시 시스템으로 작업하고 있습니다. 같은 (Doctrine의 중첩 된 조건문 1.2
SELECT DISTINCT u.*
FROM Users AS u
INNER JOIN Workplaces AS w ON u.workplaceId = w.id
INNER JOIN Municipalities AS m ON u.municipalityId = m.id
INNER JOIN Prefectures AS p ON m.prefectureId = p.id
INNER JOIN Regions AS r ON p.regionId = p.regionId
WHERE (
(w.shortName = 'ES' AND m.id IN (:esMunicipalityIdArray))
OR
(w.shortName = 'JHS' AND m.id IN (:jhsMunicipalityIdArray))
OR
(w.shortName = 'ES' AND p.id IN (:esPrefectureIdArray))
OR
(w.shortName = 'JHS' AND p.id IN (:jhsPrefectureIDArray))
OR
(w.shortName = 'ES' AND r.id IN (:esRegionIdArray))
OR
(w.shortName = 'JHS' AND r.id IN (:jhsRegionIdArray))
)
기본적으로, 여기에 목표는 지방 자치 단체, 도도부 현에있는 사용자의 모든 이름 (이메일 주소)를 얻을 수 있습니다 :이 같은 것을 보면 여러 중첩 된 조건 쿼리를 만들려고 해요 주 또는 지방) 또는 지역. 사용자는 여러 현을 포함하는 지역의 모든 사용자 또는 현 내의 모든 사용자 또는 선택된 시정촌의 사용자를 선택할 수 있습니다. 그렇게하면 사용자에게 보낸 특정 전자 메일을받는 사람을 누가 미세 조정할 수 있습니다. 예, 이것은 다소 세분화 된 것입니다. 그렇습니다. 과잉 일 수 있습니다.하지만 이봐, 나는 도전을 좋아합니다.
어쨌든 Doctrine 1.2에서 어떻게해야합니까? 그런 중첩 된 문장이나 문장을 어떻게 만들지 모르겠습니다. DQL을 사용하여
아름답게했다. 나는 DQL을 그런 식으로 사용할 수 있는지 몰랐다. 나는 각 문장을 분리해야한다고 생각했다. 감사! – blainarmstrong