我對Rails相當陌生,並且理解了連接和關聯的基礎知識,但是我對如何在一些常規查詢中最好地使用rails有一個挑戰。有很多我已經審查過的文檔,但仍然不清楚這個查詢的最佳方法。該型號如下Rails查詢關聯
用戶:
has_many :accounts
帳戶:
belongs_to :user
belongs_to :address, :class_name => "Location", :foreign_key => 'address_id'
地址:
belongs_to :account (This is really a many to one relationship where an address,
can belong to more than one account)
查詢是找到該用戶的所有帳戶地址。標準的SQL查詢看起來像這樣。
SELECT Users.ID AS Users_ID, Users.Username, Account.acct_name, Address.*
FROM Address INNER JOIN (Users INNER JOIN Account ON Users.ID = Account.user_id)
ON Address.ID = Account.address_id
WHERE (((Users.ID)=2));
好像有很多力量在軌爲此沒有直接的SQL查詢。這樣做的最好方法是什麼?模型是否正確?外鍵代表是否在正確的模型中。
非常感謝您的幫助。
帳戶確實有一個address_id整數列。我假設你說外鍵表示法不是必須的,因爲它是address_id –
對,如果你遵守Rails約定,在這裏指定任何額外的'foreign_key'都不是必要的。 –
我想我剛剛碰到了一面牆,就像我之前嘗試過的不同架構一樣。感謝澄清這一點。 –