Program Tip

Ruby Activerecord IN 절

programtip 2020. 11. 20. 09:29
반응형

Ruby Activerecord IN 절


Activerecord에서 "IN"절을 수행하는 방법을 아는 사람이 있는지 궁금합니다. 안타깝게도 "IN"절은 거의 구글링 할 수 없으므로 여기에 게시해야합니다. 기본적으로 저는 "기숙사 ID가이 배열 [ID 배열]에있는 기숙사에있는 모든 대학생을 줘"와 같은 질문에 답하고 싶습니다. 단일 기숙사 ID가 주어지면 쿼리를 작성하는 방법을 알고 있지만 ID 배열이 주어지면 쿼리를 작성하는 방법을 모릅니다.

어떤 도움이라도 대단히 감사합니다. 이것은 어딘가에 질문의 재 게시물이라고 확신하므로 답변 / 더 나은 검색어가 발견되면 삭제하겠습니다.


에서 레일 가이드의 §2.3.3 부분 집합 조건 :

IN표현식을 사용하여 레코드를 찾으려면 조건 해시에 배열을 전달할 수 있습니다.

Client.where(:orders_count => [1,3,5])

이 코드는 다음과 같은 SQL을 생성합니다.

SELECT * FROM clients WHERE (clients.orders_count IN (1,3,5))

arel 구문을 사용할 수도 있습니다 .

Client.where(Client.arel_table[:order_count].in([1,3,5]))

동일한 SQL을 생성합니다.

참고 URL : https://stackoverflow.com/questions/10181864/ruby-activerecord-in-clause

반응형