【问题标题】:How can I use id to show name of it? (phoenix framework)如何使用 id 显示它的名称? (凤凰框架)
【发布时间】:2016-05-16 19:26:23
【问题描述】:

我有 3 张桌子、食物、订单和订单项目。在foods 表中,它有food_id、name 和price。 Orders 表有 order_id 和 date。在 order_items 表中,它有 order_id、food_id 和数量。

schema "orders" do 
has_many :order_items, Myapp.OrderItem

timestamps


schema "foods" do
field :name, :string
field :price, :integer

has_many :order_items, Myapp.OrderItem

timestamps



schema "order_items" do
field :quantity, :integer
belongs_to :order, Myapp.Order
belongs_to :food, Myapp.Food

timestamps

我想问的是,我可以使用 order_items 表中的 food_id 数据来显示它的价格和名称吗?如果我能做到这一点,我该怎么做?

【问题讨论】:

    标签: postgresql elixir phoenix-framework


    【解决方案1】:

    您想获取带有食物的订单,您可以使用带有关键字列表的Repo.preload/2 预加载:

    order = Repo.get(Order, 1) |> Repo.preload(order_items: :food)
    

    您尚未指定要显示项目的格式。要在 EEx 模板中输出它们,您可以执行以下操作:

    <%= for order_item <- @order.order_items do %>
      <%= order_item.food.name %> (<%= order_item.food.price %>)
    <% end %>
    

    【讨论】:

      猜你喜欢
      • 2016-05-08
      • 1970-01-01
      • 1970-01-01
      • 2016-05-08
      • 2017-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-03
      相关资源
      最近更新 更多