FatEcto.Query.Dynamics.GtLtEq (FatEcto v1.2.0)

View Source

Provides dynamic query builders for common Ecto operations, such as filtering by comparison operators (>, <, >=, <=, ==, !=) and handling nil values.

This module is designed to simplify the creation of dynamic queries for Ecto schemas, particularly when dealing with comparison-based filtering conditions.

Example Usage

iex> result = Elixir.FatEcto.Query.Dynamics.GtLtEq.field_is_nil_dynamic(:location)
iex> inspect(result)
"dynamic([q], is_nil(q.location))"

Summary

Functions

Builds a dynamic query where a field cast to date is equal to a given value.

Builds a dynamic query where a field cast to date is greater than a given value.

Builds a dynamic query where a field cast to date is greater than or equal to a given value.

Builds a dynamic query where a field cast to date is less than a given value.

Builds a dynamic query where a field cast to date is less than or equal to a given value.

Builds a dynamic query where a field is equal to a given value.

Builds a dynamic query where a field is nil.

Builds a dynamic query where a field is greater than a given value.

Builds a dynamic query where a field is greater than or equal to a given value.

Builds a dynamic query where a field is less than a given value.

Builds a dynamic query where a field is less than or equal to a given value.

Builds a dynamic query where a field is not equal to a given value.

Builds a dynamic query where a field is not nil.

Builds a dynamic query where a field is not greater than a given value.

Builds a dynamic query where a field is not greater than or equal to a given value.

Builds a dynamic query where a field is not less than a given value.

Builds a dynamic query where a field is not less than or equal to a given value.

Functions

cast_to_date_eq_dynamic(key, value)

@spec cast_to_date_eq_dynamic(atom(), Date.t()) :: Ecto.Query.dynamic_expr()

Builds a dynamic query where a field cast to date is equal to a given value.

Parameters

  • key - The field name as an atom.
  • value - The value to compare against (must be a Date).

Examples

iex> result = Elixir.FatEcto.Query.Dynamics.GtLtEq.cast_to_date_eq_dynamic(:end_date, ~D[2025-02-08])
iex> inspect(result)
"dynamic([q], fragment(\"?::date\", q.end_date) == ^~D[2025-02-08])"

cast_to_date_gt_dynamic(key, value)

@spec cast_to_date_gt_dynamic(atom(), Date.t()) :: Ecto.Query.dynamic_expr()

Builds a dynamic query where a field cast to date is greater than a given value.

Parameters

  • key - The field name as an atom.
  • value - The value to compare against (must be a Date).

Examples

iex> result = Elixir.FatEcto.Query.Dynamics.GtLtEq.cast_to_date_gt_dynamic(:end_date, ~D[2025-02-08])
iex> inspect(result)
"dynamic([q], fragment(\"?::date\", q.end_date) > ^~D[2025-02-08])"

cast_to_date_gte_dynamic(key, value)

@spec cast_to_date_gte_dynamic(atom(), Date.t()) :: Ecto.Query.dynamic_expr()

Builds a dynamic query where a field cast to date is greater than or equal to a given value.

Parameters

  • key - The field name as an atom.
  • value - The value to compare against (must be a Date).

Examples

iex> result = Elixir.FatEcto.Query.Dynamics.GtLtEq.cast_to_date_gte_dynamic(:end_date, ~D[2025-02-08])
iex> inspect(result)
"dynamic([q], fragment(\"?::date\", q.end_date) >= ^~D[2025-02-08])"

cast_to_date_lt_dynamic(key, value)

@spec cast_to_date_lt_dynamic(atom(), Date.t()) :: Ecto.Query.dynamic_expr()

Builds a dynamic query where a field cast to date is less than a given value.

Parameters

  • key - The field name as an atom.
  • value - The value to compare against (must be a Date).

Examples

iex> result = Elixir.FatEcto.Query.Dynamics.GtLtEq.cast_to_date_lt_dynamic(:end_date, ~D[2025-02-08])
iex> inspect(result)
"dynamic([q], fragment(\"?::date\", q.end_date) < ^~D[2025-02-08])"

cast_to_date_lte_dynamic(key, value)

@spec cast_to_date_lte_dynamic(atom(), Date.t()) :: Ecto.Query.dynamic_expr()

Builds a dynamic query where a field cast to date is less than or equal to a given value.

Parameters

  • key - The field name as an atom.
  • value - The value to compare against (must be a Date).

Examples

iex> result = Elixir.FatEcto.Query.Dynamics.GtLtEq.cast_to_date_lte_dynamic(:end_date, ~D[2025-02-08])
iex> inspect(result)
"dynamic([q], fragment(\"?::date\", q.end_date) <= ^~D[2025-02-08])"

eq_dynamic(key, value)

@spec eq_dynamic(atom(), any()) :: Ecto.Query.dynamic_expr()

Builds a dynamic query where a field is equal to a given value.

Parameters

  • key - The field name as an atom.
  • value - The value to compare against.

Examples

iex> result = Elixir.FatEcto.Query.Dynamics.GtLtEq.eq_dynamic(:experience_years, 2)
iex> inspect(result)
"dynamic([q], q.experience_years == ^2)"

field_is_nil_dynamic(key)

@spec field_is_nil_dynamic(atom()) :: Ecto.Query.dynamic_expr()

Builds a dynamic query where a field is nil.

Parameters

  • key - The field name as an atom.

Examples

iex> result = Elixir.FatEcto.Query.Dynamics.GtLtEq.field_is_nil_dynamic(:location)
iex> inspect(result)
"dynamic([q], is_nil(q.location))"

gt_dynamic(key, value)

@spec gt_dynamic(atom(), any()) :: Ecto.Query.dynamic_expr()

Builds a dynamic query where a field is greater than a given value.

Parameters

  • key - The field name as an atom.
  • value - The value to compare against.

Examples

iex> result = Elixir.FatEcto.Query.Dynamics.GtLtEq.gt_dynamic(:experience_years, 2)
iex> inspect(result)
"dynamic([q], q.experience_years > ^2)"

gte_dynamic(key, value)

@spec gte_dynamic(atom(), any()) :: Ecto.Query.dynamic_expr()

Builds a dynamic query where a field is greater than or equal to a given value.

Parameters

  • key - The field name as an atom.
  • value - The value to compare against.

Examples

iex> result = Elixir.FatEcto.Query.Dynamics.GtLtEq.gte_dynamic(:experience_years, 2)
iex> inspect(result)
"dynamic([q], q.experience_years >= ^2)"

lt_dynamic(key, value)

@spec lt_dynamic(atom(), any()) :: Ecto.Query.dynamic_expr()

Builds a dynamic query where a field is less than a given value.

Parameters

  • key - The field name as an atom.
  • value - The value to compare against.

Examples

iex> result = Elixir.FatEcto.Query.Dynamics.GtLtEq.lt_dynamic(:experience_years, 2)
iex> inspect(result)
"dynamic([q], q.experience_years < ^2)"

lte_dynamic(key, value)

@spec lte_dynamic(atom(), any()) :: Ecto.Query.dynamic_expr()

Builds a dynamic query where a field is less than or equal to a given value.

Parameters

  • key - The field name as an atom.
  • value - The value to compare against.

Examples

iex> result = Elixir.FatEcto.Query.Dynamics.GtLtEq.lte_dynamic(:experience_years, 2)
iex> inspect(result)
"dynamic([q], q.experience_years <= ^2)"

not_eq_dynamic(key, value)

@spec not_eq_dynamic(atom(), any()) :: Ecto.Query.dynamic_expr()

Builds a dynamic query where a field is not equal to a given value.

Parameters

  • key - The field name as an atom.
  • value - The value to compare against.

Examples

iex> result = Elixir.FatEcto.Query.Dynamics.GtLtEq.not_eq_dynamic(:experience_years, 2)
iex> inspect(result)
"dynamic([q], q.experience_years != ^2)"

not_field_is_nil_dynamic(key)

@spec not_field_is_nil_dynamic(atom()) :: Ecto.Query.dynamic_expr()

Builds a dynamic query where a field is not nil.

Parameters

  • key - The field name as an atom.

Examples

iex> result = Elixir.FatEcto.Query.Dynamics.GtLtEq.not_field_is_nil_dynamic(:location)
iex> inspect(result)
"dynamic([q], not is_nil(q.location))"

not_gt_dynamic(key, value)

@spec not_gt_dynamic(atom(), any()) :: Ecto.Query.dynamic_expr()

Builds a dynamic query where a field is not greater than a given value.

Parameters

  • key - The field name as an atom.
  • value - The value to compare against.

Examples

iex> result = Elixir.FatEcto.Query.Dynamics.GtLtEq.not_gt_dynamic(:experience_years, 2)
iex> inspect(result)
"dynamic([q], q.experience_years <= ^2)"

not_gte_dynamic(key, value)

@spec not_gte_dynamic(atom(), any()) :: Ecto.Query.dynamic_expr()

Builds a dynamic query where a field is not greater than or equal to a given value.

Parameters

  • key - The field name as an atom.
  • value - The value to compare against.

Examples

iex> result = Elixir.FatEcto.Query.Dynamics.GtLtEq.not_gte_dynamic(:experience_years, 2)
iex> inspect(result)
"dynamic([q], q.experience_years < ^2)"

not_lt_dynamic(key, value)

@spec not_lt_dynamic(atom(), any()) :: Ecto.Query.dynamic_expr()

Builds a dynamic query where a field is not less than a given value.

Parameters

  • key - The field name as an atom.
  • value - The value to compare against.

Examples

iex> result = Elixir.FatEcto.Query.Dynamics.GtLtEq.not_lt_dynamic(:experience_years, 2)
iex> inspect(result)
"dynamic([q], q.experience_years >= ^2)"

not_lte_dynamic(key, value)

@spec not_lte_dynamic(atom(), any()) :: Ecto.Query.dynamic_expr()

Builds a dynamic query where a field is not less than or equal to a given value.

Parameters

  • key - The field name as an atom.
  • value - The value to compare against.

Examples

iex> result = Elixir.FatEcto.Query.Dynamics.GtLtEq.not_lte_dynamic(:experience_years, 2)
iex> inspect(result)
"dynamic([q], q.experience_years > ^2)"