使用Ecto Phoenix获取今天创建的记录的最佳方式?

Sub*_*dra 2 elixir ecto phoenix-framework

来自Rails Active Record我想知道如何实际获取今天创建的记录.

在Rails中我们可以这样做

User.where(created_at:Date.today.beginning_of_day..Date.today.end_of_day)
Run Code Online (Sandbox Code Playgroud)

或者说得很简洁

scope :created_today, ->(date = Date.today) { where(created_at: date..date.end_of_day) }

User.created_today
Run Code Online (Sandbox Code Playgroud)

用Ecto实现同样的东西最好的方法是什么?

Har*_*cas 10

您最好的选择是使用Timex库.

使用这个库你可以做这样的事情:

date = DateTime.today |> Timex.datetime

query = from m in Model, where: m.inserted_at >= ^Timex.beginning_of_day(date), where: m.inserted_at <= ^Timex.end_of_day(date)

Repo.all(query)
Run Code Online (Sandbox Code Playgroud)