2012-02-15 73 views
0

在我的應用我有3種型號:在這種情況下更有效 - 有許多通過或有很多?

用戶,網頁,照片

照片屬於一個頁面,一個頁面(他們只有一個)屬於用戶。然而,我的一個導航鏈接將顯示用戶提交的所有照片(將經常使用)的網址 - 什麼是最好的,最有效的關聯使用或去處理?

class User 
    has_many :pages 
    has_many :photos, :through => :pages 
end 

因此,一個外鍵在網頁USER_ID,以及一個用於pages_id的照片(這將意味着我可以通過@獲取用戶的照片user.page.photos - 或使用「包括」,使之更有效率 - 但它仍然比低於更好)

class User 
    has_many :pages 
    has_many :photos 
end 

因此,一個外鍵在網頁USER_ID,以及一個用於在照片pages_id和USER_ID? (這將意味着我可以直接撥打@ user.photos)

謝謝你的幫助!

回答

0

我認爲這對第二個例子來說效率最高。這是因爲您不必通過中間表加入爲用戶查找照片。

photos表然後將存儲page_iduser_id外鍵。

+0

謝謝!這正是我當時的想法,但想要與比我更有經驗的人一起檢查:) – eBrooker 2012-02-15 19:34:53

+0

他正在尋找dat 62.1k – ahnbizcad 2014-04-29 09:56:52