Re: [問題] includes or joins???
※ 引述《kewang (617公車)》之銘言:
: 環境:
: Ruby 1.9.2, Rails 3.1.0
: 狀況:
: Migration:
: User(name, laptop_id)
: Laptop(serial, color, lcd_size)
: Model:
: User Model => belongs_to :laptop
: Laptop Model => has_many :users
: 現在有一個困擾我兩天的問題,我想要用下面的方式將User及對應的Laptop
: 都抓出來(user.name, laptop.serial, laptop.color, laptop.lcd_size),
: 但是無論我如何試都是一樣只會出現User或是Laptop其中一種。不知道大家是
: 如何解決這個問題的呢?
: User.joins(:laptop).select("users.*, laptops.*")
: User.includes(:laptop).select("users.*, laptops.*")
: 在stackoverflow上面找了一堆文章,全部都試過了,沒有一個是可以用的 囧rz
用法應該像是
user = User.includes(:laptop).first
user.laptop.color # for example
這樣在第一次 query 的時候 ActiveRecord 就會做 join 的動作
所以總共只有一次 query
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.30.133
推
09/08 15:59, , 1F
09/08 15:59, 1F
→
09/08 16:00, , 2F
09/08 16:00, 2F
→
09/08 16:00, , 3F
09/08 16:00, 3F
討論串 (同標題文章)
Ruby 近期熱門文章
PTT數位生活區 即時熱門文章