通过 created_at 列订购Ecto查询时,以下代码可以正常工作。
sort_params = [asc: :created_at]
query = from user in users,
order_by: ^sort_params,
limit: ^page_size,
offset: ^offset

假设我有一个名为info的 jsonb 类型的数据库列,并且JSON对象中的一个字段是" status",有没有办法按该字段排序? Ecto是否具有类似
的有效等价物 sort_params = [asc: :info.status]
答案 0 :(得分:4)
是,
您可以使用Ecto.Query.API.fragment/1。
# you can use fragment/1 only directly in the query
query = from user in users,
order_by: fragment("info->>'status' ASC"),
limit: ^page_size,
offset: ^offset