Ecto上具有动态值的order_by

时间:2018-08-02 12:51:52

标签: elixir ecto

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

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 个答案:

没有答案