user = User.includes(:authorizations).where("authorizations.provider" => 'facebook' , "authorizations.uid" => uid).first
includes跟joins功能挺像,引用ihower大大的部落格內的說法:
透過joins抓出來的event物件是沒有包括其關連物件的。如果需要其關連物件的資料,會使用includes。(出處:http://ihower.tw/rails3/activerecord-relationships.html)
但有一個差別在於includes所找到的model內的readonly屬性會是false,而joins所回傳的將是true。這造成了很大的影響:"用joins所找到的model不能被修改",所以當試圖修改model的值時,會回傳ActiveRecord::ReadOnlyRecord error.
沒有留言:
張貼留言