[英]Rails-how to select from multiple tables
我是Ruby的新手,所以我不知道如何通過連接表選擇數據。 我的數據庫有3個表: users
, roles
和client_organizations
。
users(id,email)
client_organizations(id,name)
roles(id,user_id,client_organization_id,role)
我想顯示這樣的數據:
User_Email Role
RoleA for [ClientA]
user1@gmail.com RoleB for [ClientB]
RoleC for [ClientB]
user2@gmail.com RoleB for [ClientC]
在Ruby中,如何從上述數據庫中獲取數據?
假設您的模型配置正確,則可以使用關聯。 這絕不是優化的,而是簡單地布局以顯示邏輯。 您將希望加載關聯以進行數據庫優化。
控制者
@users = User.all
視圖
<table>
<tr><th>email</th><th>role</th></tr>
<% @users.each do |user| %>
<tr>
<td><%= user.email %></td>
<td>
<% user.roles.each do |role| %>
<%= "#{role.role} for [#{role.client_organization.name}]" %><br>
<% end %>
</td>
</tr>
<% end %>
</table>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.