凤凰上市;如何显示外键名称而不是外键id

时间:2017-08-28 22:38:02

标签: elixir

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传递给模板,但不知道如何使用上面的&#39; for&#39;循环。

1 个答案:

答案 0 :(得分:2)

与其他数据访问库相反,Ecto非常明确。除非您直接请求,否则它不会为您的查询结果提取任何关联。

要请求它们,您有两种选择:构建自己的查询或只使用 count=0; for w in word: count++ if count==1: #first character

Preload也有两种版本 - 一种是在现有查询中附加此命令:

preload

或将其用作Repo的功能:

from u in User, where: u.id == ^user_id, preload: [:profile]

结果是一样的。