代码之家  ›  专栏  ›  技术社区  ›  David Magalhães cpu

通过在EXTO上具有动态值的order\ U by

  •  1
  • David Magalhães cpu  · 技术社区  · 6 年前

    我正在尝试按动态提供的字符串排序。我要排序的字段是select中的alias。

    query
    |> select([t], %{orders_count: fragment("? AS orders_count", count(t.id)})
    |> order_by(fragment("?", ^field))
    

    这会产生这种情况,而且不会起作用。

    order_by: [asc: fragment("?", ^"orders_count")],
    

    query
    |> select([t], %{orders_count: fragment("? AS orders_count", count(t.id)})
    |> order_by(fragment("orders_count"))
    

    会产生这样的效果。

     order_by: [asc: fragment("orders_count")],
    

    0 回复  |  直到 6 年前