预加载中的ecto order_by

时间:2019-03-20 01:24:56

标签: elixir phoenix-framework ecto

因此,我在通过order_by函数进行查询时无法使用preload

通常,我在此order_by函数中使用list_member

list_member

def list_members() do
query =
  from(
    p in Member,
    select: p,
    order_by: [desc: p.inserted_at], # descending order
    preload: [:avatar]
  )

Repo.all(query)
end

但是在我的get_member_2函数中,我不知道将order_by放在何处

def get_member_2!(id) do
query =
  from(
    p in Member,
    where: p.id == ^id,
    select: p,
    preload: [:avatar],
    preload: [:activities] # How to order_by in here
  )

Repo.one!(query)
end

1 个答案:

答案 0 :(得分:3)

您必须创建一个子查询并在其中排序

<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/5.7.0/d3.min.js"></script>
<svg viewBox="0 0 20 20"></svg>

成员和活动的匹配是自动完成的