0
다음 세 가지 모델을 구현합니다."포함"으로 "켜기"상태를 설정하는 방법
# app/model/foo.rb
class Foo < ActiveRecord::Base
belongs_to :hoge
has_many :bars
end
# app/model/hoge.rb
class Hoge < ActiveRecord::Base
has_one :foo
end
# app/model/bar.rb
class Bar < ActiveRecord::Base
belongs_to :foo
end
"bar"및 "hoge"가 포함 된 "foo"레코드를 받고 싶습니다. 또한, 다음과 같이 "LEFT OUTER JOIN"의 "ON"조건을 설정해야합니다.
SELECT *
FROM foos
LEFT OUTER JOIN bars ON bars.foo_id = foo.id
LEFT OUTER JOIN hoges ON hoges.id = foo.hoge_id AND (foo.name = "name")
where foo.country = "japan"
"포함"및 "참조"를 사용해 보았습니다. 는하지만, (... 동의 전용 테이블 이름) I가 "ON"의 조건을 설정하는 방법
Foo
.includes(:bars)
.includes(:hoge)
.where(country: "japan")
.references(:bar)
.references(:hoge)
을
"ON"의 condtion를 허용하지 않습니다 "포함"?
당신을 감사합니다! 나는 그것을 시험해 본다. – tamagohan2
시도했지만이 쿼리가 제대로 작동하지 않습니다. "includes"를 사용하면 "references"를 사용해야합니다. 하지만 "조인"이 "참조"와 함께 사용되면 "참조"가 제대로 작동하지 않습니다 ... (열심히로드가 작동하지 않습니다) ... – tamagohan2
@ user4252489 나는 최신 레일 (active_record)을 사용하고 있다고 가정합니까? 실제로 나는 새로운 레일스 코드베이스를 사용하여 db 스키마를 테스트했으며 작동했습니다. –