私は、Timex.Ecto.Date値を保持する誕生日属性を持つ私のphoenixframeworkプロジェクトにユーザーモデルを持っています。祝う次の誕生日を見つける
defmodule MyProject.User do
use MyProject.Web, :model
schema "users" do
field :active, :boolean
field :birthday, Timex.Ecto.Date
field :login, :string
field :email, :string
field :password, :string, virtual: true
field :password_hash, :string
field :name, :string
field :nickname, :string
timestamps
end
# ... changeset and other code ...
end
今から30日以内に誕生日を祝うすべてのユーザーを探します。 1980年2月1日に生年月日のユーザレコードがあるとします。今日は2017-01-13です。
私が今持っているもの:
{:ok, date_from} =
Timex.local
|> Timex.Ecto.Date.cast
{:ok, date_to} =
Timex.local
|> Timex.add(Timex.Duration.from_days(30))
|> Timex.Ecto.Date.cast
MyProject.Repo(from(u in MyProject.User, where: u.birthday >= ^date_from, where: u.birthday <= ^date_to))
年のそれは働くことができないので。 ectoクエリを構築するにはどうすればよいですか? (WHERE
句のみ)
私は答えはわかりませんが、使用しているデータベースについてコミュニティに問い合わせるほうが便利かもしれません。たとえば、SQLデータベースを使用している場合は、SQLタグ付きの質問をします。生のクエリをどのように行うかを知ったら、それを外部に翻訳するのはかなり簡単です。 –
申し訳ありませんが、私はPostgreSQLデータベースを使用していると言っています。 – guitarman