我正在尝试按动态提供的字符串排序。我要订购的字段是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")],
但是我不明白为什么它不适用于第一个示例。