如何显示外键名称,而不是外键ID
问题描述:
Template code includes:
<%= for shift <- @shifts do %>
<tr>
<td><%= shift.user_id %></td>
<td><%= shift.start_time %></td>
<td><%= shift.end_time %></td>
<td><%= shift.roster_id %></td>
我如何可以显示从各自架构的用户名和rostername? 我可以将@users和@rosters传递给模板,但不知道如何使用上面的'for'循环。如何显示外键名称,而不是外键ID
答
相反到其他数据访问librarie,外生是非常明确的。除非您直接请求它们,否则它不会为您的查询结果获取任何关联。
要求他们,你有两个选择:建立你自己的查询或简单地使用preload
。
预紧也有两种形式提供 - 一种是在现有的查询追加这个命令:
from u in User, where: u.id == ^user_id, preload: [:profile]
或使用它作为一个回购的功能:
User
|> Repo.get(user_id)
|> Repo.preload([:profile])
结果是相同。
你有预装的关联?如果是,那么像''? – Dogbert
谢谢,不知道预加载。工作中。 – alanb