반응형
Objection.js의 추가 조인 조건
Objection.js Node.js ORM을 사용하여 다음과 같은 쿼리를 작성합니다.
return Account.query()
.alias('accounts')
.whereIn('accounts.ID', accountIds)
.where('accounts.DELETE_FLAG', 'N')
.where('accounts.ISDELETED', false)
.withGraphJoined('contacts')
.where('contacts.DELETE_FLAG', 'N')
.where('contacts.ISDELETED', false)
.execute();
현재 다음과 같은 쿼리를 생성하고 있습니다.
select accounts.*, contacts.* from accounts
left join contacts on (accounts.ID = contacts.ACCOUNTID)
where accounts.ID in (...)
and contacts.DELETE_FLAG = 'N'
and contacts.ISDELETED = false
둘대신에contacts
normal where 절의 일부로 쿼리에 추가되는 조건, 다음과 같이 조인 조건에 추가해야 합니다.
select accounts.*, contacts.* from accounts
left join contacts on (accounts.ID = contacts.ACCOUNTID)
and (contacts.DELETE_FLAG = 'N')
and (contacts.ISDELETED = false)
where accounts.ID in (...)
문서에서 이 방법을 찾는 데 어려움을 겪고 있습니다.제안해 주실 분 계신가요?
사용가능modifyGraph
, 쿼리는 왼쪽 조인에 필터를 추가하지 않고 하위 선택을 조인으로 사용한다는 점에서 약간 다릅니다.그럼에도 불구하고 결과는 그래프 기능을 유지하는 이점과 함께 필터링하는 것과 동일합니다.
return Account.query()
.alias('accounts')
.whereIn('accounts.ID', accountIds)
.where('accounts.DELETE_FLAG', 'N')
.where('accounts.ISDELETED', false)
.withGraphJoined('contacts')
.modifyGraph('contacts', , builder => {
builder.where('DELETE_FLAG', 'N')
.where('ISDELETED', false)
)
.execute();
언급URL : https://stackoverflow.com/questions/69126326/additional-join-condition-in-objection-js
반응형
'bestsource' 카테고리의 다른 글
재스민을 사용하여 객체가 없는 기능을 염탐하기 (0) | 2023.10.01 |
---|---|
여기서 날짜 시간이 특정 시간보다 오래됨(예: 15분) (0) | 2023.10.01 |
ID별 워드프레스 사용자 프로파일 URL/링크 가져오기 (0) | 2023.10.01 |
요소/문서에 첨부된 자바스크립트 이벤트 청취자/처리자가 있는지 확인하는 방법? (0) | 2023.10.01 |
openstdin, stdout, stderr 방향 전환을 제어하는 방법? (0) | 2023.10.01 |