私はレコードIDのリストを持っています - [9, 1, 4, 3]
。Ecto - 正確な順序でIDでレコードを取得する方法
私はpostgresqlからレコードを取得し、このIDリストのように並べ替えたいと思っています。しかし、クエリを実行すると、レコードは任意の順序で返されます。
Ecto.Query.from(r in Record, where: r.id in [9, 1, 4, 3])
|> Repo.all()
|> Enum.map(&Map.get(&1, :id)) # => [4, 9, 1, 3]
同じ順序でレコードを取得するにはどうすればよいですか?
もしあなたがデータベースレベルでそれをしたいのであれば、より良いアイデアはありませんが、 'order by'ステートメントの' case'を使用するのは – JustMichael