2017-06-05 34 views
0

我建立了這種關係,Profile has_many Addresses。在索引操作中,我在做@profiles = Profile.all,它給了我所有的配置文件,但我想以這樣一種方式查詢配置文件,即只有配置文件至少有一個地址時纔會列出配置文件。如何僅在地址存在時列出配置文件

我目前的做法是,我在視圖中檢查配置文件是否有地址,但我覺得這是不對的。無論如何要這樣查詢?

回答

0

你可以這樣做。它將僅提取那些鏈接到他們的地址的配置文件。

@profiles = Profile.joins(:addresses).distinct 
+0

如果我在上面的查詢中使用include,有什麼區別? – gates

+1

嗯,試試吧!但'includes'純粹用於急切加載,它是一個單獨的sql語句,不會進行任何加入。所以在過濾配置文件方面沒有多少用處,至少不是它自己的。 – Iceman

相關問題