2016-09-06 81 views
0

我想一次檢索一個Personself)和他的historyHistory有很多字段,所以我只想檢索一些列,我該如何實現呢?是否可以選擇包含模型中的字段?

where_clause = "1=1" # irrelevent query 

self.where(reference: 12345) 
    .includes(:history) 
     # .select(:history_name, :history_key) 
     .where(where_clause) 
     .references(:history) 

回答

0
select('history.field_name1', 'history.field_name2') 
1

嘿,你正在使用includes躍躍欲試負荷記錄,但在這裏沒有必要的,因爲你是直接選擇值可以使用他們喜歡這個

self.where(reference: 12345) 
    .includes(:history) 
    .select(history: { :history_name, :history_key }) 
    .where(where_clause) 
    .references(:history) 
0

。一個select條款不能與includes工作,你可以使用joins作爲

Person.joins(:history).select(:history_name, :history_key).where(where_clause) 
相關問題