2013-03-20 64 views
2

我正在編寫一個應用程序,並且我有兩個模型,一個Post和一個Tag模型。他們有一個多對多的關聯。我想在檢索帖子時加載所有帖子的標籤,所以我不必運行多次到數據庫。在續集中熱切地加載多對多關聯

的模型看起來大致是這樣的(我省略了一些私人資料):

class Post < Sequel::Model 
    many_to_many :tags 
end 

class Tag < Sequel::Model 
    many_to_many :posts 
end 

我已經試過Post.eager_graph(:tags)[id],這取得了一些成功,但它只是加載的第一個標籤和前綴的所有標籤列名稱與tags_而不是將其夾入數組或其他東西。有沒有辦法讓它一次加載所有的標籤,或者我將不得不讓他們單獨查詢?

感謝您的幫助!

回答

2

除非您急於加載多個帖子,否則在檢索帖子時自動加載標籤是沒有意義的。無論如何,除非您加入,否則它會採用多個查詢,並且我認爲在考慮Sequel分割JOINed結果所需的額外開銷時,JOIN將比兩個單獨的查詢慢。

相關問題