2014-10-30 30 views
0

運行以下查詢的rails方式是什麼?我找到了所有列都沒有被選中的答案。例如查詢如下:下面簡單加入多欄的Rails方式

select e.id, e.title, u.first_name,u.picture from events e 
inner join users u 
on e.created_by = u.id 
where u.id = 2 

我的模型給出:

class Event < ActiveRecord::Base 
    belongs_to:user 
end 

UPDATE我想下面這INFACT形成了查詢,但它給了另一個錯誤:

@event = Event.joins(' INNER JOIN users on users.id = events.created_by') 

no implicit conversion of String into Integer

它在模板中給出以下行:

<h3><strong><%= @event["id"] %></strong></h3> 
+0

更新後:@event是一個數組,而不是一個哈希(不管,如果你只有在這一個記錄) – Fer 2014-10-30 08:00:31

回答

1

試試這個

Event.joins(:users).where("users.id = 2").select('events.id, events.title, users.first_name, users.picture') 
+0

它不工作,因爲它不是在'加盟ID「,但在'events.created_by'上。我嘗試了這個,但給了event.id的類型轉換錯誤 '@event = Event.joins('INNER JOIN users on users.id = events.created_by')' ps:Qs也更新了 – Volatil3 2014-10-30 07:18:35

+0

加入I返回查詢'SELECT「事件」。* FROM「events」INNER JOIN用戶對users.id = events.created_by',但在模板中我得到:**沒有將字符串隱式轉換爲整數** – Volatil3 2014-10-30 07:24:15