3
有誰知道是否有可能爲ActiveRecord表連接設置別名?ActiveRecord表別名
喜歡的東西:
User.find(:all, :alias => "Users as u", :joins => "Friends as f", :select => "u.id,f.name")
任何想法?
有誰知道是否有可能爲ActiveRecord表連接設置別名?ActiveRecord表別名
喜歡的東西:
User.find(:all, :alias => "Users as u", :joins => "Friends as f", :select => "u.id,f.name")
任何想法?
是的,但是如果覆蓋連接,則需要包含'ON'語句和連接語句。
User.find(:all, :joins => " as u INNER JOIN Friends as f ON f.user_id = u.id", :select => "u.id,f.name")
或Rails的3+
User.joins("as u INNER JOIN Friends as f on f.user_id = u.id")
.select("u.id, f.name")
.all
難道只是我還是這是一個黑客? – MoMolog 2013-12-10 10:34:49
在某種程度上,是的。但通常當你開始重寫假定的行爲時,這是一種黑客行爲。我相信現在有一些arel可用,這會讓這個問題變得不那麼棘手。但據我所知,這仍然是在維護ORM功能的同時執行復雜連接的最簡單方法。請注意,去年我沒有做過大量的開發工作,所以我可能在以後的版本中漏掉了一些東西。 – 2013-12-10 13:55:17