2012-09-18 1 views
5

Arel 3.0.2는 조인 유형을 지정하는 두 가지 클래스, 즉 Arel::Nodes::InnerJoinArel::Nodes::OuterJoin을 제공하며 기본값으로 InnerJoin을 사용합니다.Arel과 왼쪽 가입하는 방법?

왼쪽 결합을 생성하려면 어떻게해야합니까? 사용

foo.join(bar, Arel::Nodes::OuterJoin) # outer 

좌 = LEFT OUTER 가입하기 때문에

+0

User라고 : http://ruby.ryanbigg.com/post/1468788928/left-outer-join-with-arel –

답변

7

은 가입. 바깥 쪽은 옵션입니다. 참조 : here

0

다음은보고 싶은 모든 사람들을위한 레일즈 모델의 전체 예제입니다.

그래서 나는 내가 세상이 당신이 하나 개의 모델이 RssFeed과 has_many의 결합 모델 인 다른라는 RssFeedUser라는 있다고 가정

과 공유 할 것이라고 생각 알아 내기 위해 나에게 몇 시간에 나섭니다 : 스루 A에 대한 모델은 아마이 도움이 될 수 있습니다

RssFeed.find_by_sql(RssFeed.arel_table.join(RssFeedUser.arel_table,Arel::Nodes::OuterJoin).on(RssFeed.arel_table[:id].eq(RssFeedUser.arel_table[:rss_feed_id])).where(RssFeedUser.arel_table[:user_id].eq(nil)).project('rss_feeds.*'))