View Source FatEcto.FatQuery.FatNotDynamics (FatEcto v1.0.0)

Builds a where query using dynamics and not condition.

Parameters

  • queryable - Ecto Queryable that represents your schema name, table name or query.
  • query_opts - Where query options as a map.

Examples

iex> query_opts = %{
...>    "$select" => %{
...>     "$fields" => ["name", "location", "rating"]
...>    },
...>   "$where" => %{
...>      "name" => "%John%",
...>      "location" => nil,
...>      "rating" => "$not_null",
...>      "total_staff" => %{"$between" => [1, 3]}
...>    }
...>  }
iex> Elixir.MyApp.Query.build!(FatEcto.FatHospital, query_opts)
#Ecto.Query<from f0 in FatEcto.FatHospital, where: f0.total_staff > ^1 and f0.total_staff < ^3 and

(not is_nil(f0.rating) and (f0.name == ^"%John%" and (is_nil(f0.location) and ^true))), select: map(f0, [:name, :location, :rating])>

Options

  • $select - Select the fields from hospital and rooms.
  • $where - Added the where attribute in the query.

Summary

Functions

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

Builds a dynamic query where value is not between the provided attributes.

Builds a dynamic query where value is not equal and between the provided attributes.

Builds a dynamic query when value of jsonb not matches with any list attribute.

Builds a dynamic query when value of jsonb field is not in the list.

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

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

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

Builds a dynamic query where field not matches the value substring.

Builds a dynamic query where value is not in the the list attributes.

Builds a dynamic query where field not matches the value substring.

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

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

Builds a dynamic query where field is not nil.

Functions

eq_dynamic(key, value, dynamics, opts \\ [])

@spec eq_dynamic(any(), any(), any(), nil | keyword() | map()) ::
  %Ecto.Query.DynamicExpr{
    binding: term(),
    file: term(),
    fun: term(),
    line: term()
  }

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

Parameters

  • key - Field name.
  • value - Value of the field.
  • dynamics - Default or previous dynamic to append to the query.
  • opts - Options related to query bindings alongwith dynamic type(and/or).

Examples

 iex> result = Elixir.FatEcto.FatQuery.FatNotDynamics.eq_dynamic("experience_years", 2, true, [dynamic_type: :and])
 iex> inspect(result)
 "dynamic([q], q.experience_years == ^2 and ^true)"

not_between_dynamic(key, values, dynamics, opts \\ [])

@spec not_between_dynamic(any(), any(), any(), nil | keyword() | map()) ::
  %Ecto.Query.DynamicExpr{
    binding: term(),
    file: term(),
    fun: term(),
    line: term()
  }

Builds a dynamic query where value is not between the provided attributes.

Parameters

  • key - Field name.
  • value - Values of the field as a list.
  • dynamics - Default or previous dynamic to append to the query.
  • opts - Options related to query bindings alongwith dynamic type(and/or).

Examples

iex> result = Elixir.FatEcto.FatQuery.FatNotDynamics.not_between_dynamic("experience_years", [2, 5], true, [dynamic_type: :and])
iex> inspect(result)
"dynamic([q], (q.experience_years < ^2 or q.experience_years > ^5) and ^true)"

not_between_equal_dynamic(key, values, dynamics, opts \\ [])

@spec not_between_equal_dynamic(any(), any(), any(), nil | keyword() | map()) ::
  %Ecto.Query.DynamicExpr{
    binding: term(),
    file: term(),
    fun: term(),
    line: term()
  }

Builds a dynamic query where value is not equal and between the provided attributes.

Parameters

  • key - Field name.
  • value - Values of the field as a list.
  • dynamics - Default or previous dynamic to append to the query.
  • opts - Options related to query bindings alongwith dynamic type(and/or).

Examples

iex> result = Elixir.FatEcto.FatQuery.FatNotDynamics.not_between_equal_dynamic("experience_years", [2, 5], true, [dynamic_type: :and])
iex> inspect(result)
"dynamic([q], (q.experience_years <= ^2 or q.experience_years >= ^5) and ^true)"

not_contains_any_dynamic(key, values, dynamics, opts \\ [])

@spec not_contains_any_dynamic(any(), any(), any(), nil | keyword() | map()) ::
  %Ecto.Query.DynamicExpr{
    binding: term(),
    file: term(),
    fun: term(),
    line: term()
  }

Builds a dynamic query when value of jsonb not matches with any list attribute.

Parameters

  • key - Field name.
  • values - values of jsonb field.
  • dynamics - Default or previous dynamic to append to the query.
  • opts - Options related to query bindings alongwith dynamic type(and/or).

not_contains_dynamic(key, values, dynamics, opts \\ [])

@spec not_contains_dynamic(any(), any(), any(), nil | keyword() | map()) ::
  %Ecto.Query.DynamicExpr{
    binding: term(),
    file: term(),
    fun: term(),
    line: term()
  }

Builds a dynamic query when value of jsonb field is not in the list.

Parameters

  • key - Field name.
  • values - values of jsonb field.
  • dynamics - Default or previous dynamic to append to the query.
  • opts - Options related to query bindings alongwith dynamic type(and/or).

not_eq_dynamic(key, value, dynamics, opts \\ [])

@spec not_eq_dynamic(any(), any(), any(), nil | keyword() | map()) ::
  %Ecto.Query.DynamicExpr{
    binding: term(),
    file: term(),
    fun: term(),
    line: term()
  }

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

Parameters

  • key - Field name.
  • value - Value of the field.
  • dynamics - Default or previous dynamic to append to the query.
  • opts - Options related to query bindings alongwith dynamic type(and/or).

Examples

 iex> result = Elixir.FatEcto.FatQuery.FatNotDynamics.not_eq_dynamic("experience_years", 2, true, [dynamic_type: :and])
 iex> inspect(result)
 "dynamic([q], q.experience_years != ^2 and ^true)"

not_gt_dynamic(key, value, dynamics, opts \\ [])

@spec not_gt_dynamic(any(), any(), any(), nil | keyword() | map()) ::
  %Ecto.Query.DynamicExpr{
    binding: term(),
    file: term(),
    fun: term(),
    line: term()
  }

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

Parameters

  • key - Field name.
  • value - Value of the field.
  • dynamics - Default or previous dynamic to append to the query.
  • opts - Options related to query bindings alongwith dynamic type(and/or).

Examples

iex> result = Elixir.FatEcto.FatQuery.FatNotDynamics.not_gt_dynamic("experience_years", 2, true, [dynamic_type: :or, binding: :last])
iex> inspect(result)
"dynamic([_, _, c], c.experience_years < ^2 or ^true)"

not_gte_dynamic(key, value, dynamics, opts \\ [])

@spec not_gte_dynamic(any(), any(), any(), nil | keyword() | map()) ::
  %Ecto.Query.DynamicExpr{
    binding: term(),
    file: term(),
    fun: term(),
    line: term()
  }

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

Parameters

  • key - Field name.
  • value - Value of the field.
  • dynamics - Default or previous dynamic to append to the query.
  • opts - Options related to query bindings alongwith dynamic type(and/or).

Examples

iex> result = Elixir.FatEcto.FatQuery.FatNotDynamics.not_gte_dynamic("experience_years", 2, true, [dynamic_type: :and, binding: :last])
iex> inspect(result)
"dynamic([_, _, c], c.experience_years < ^2 and ^true)"

not_ilike_dynamic(key, value, dynamics, opts \\ [])

@spec not_ilike_dynamic(any(), any(), any(), nil | keyword() | map()) ::
  %Ecto.Query.DynamicExpr{
    binding: term(),
    file: term(),
    fun: term(),
    line: term()
  }

Builds a dynamic query where field not matches the value substring.

Parameters

  • key - Field name.
  • value - Value of the field.
  • dynamics - Default or previous dynamic to append to the query.
  • opts - Options related to query bindings alongwith dynamic type(and/or).

not_in_dynamic(key, values, dynamics, opts \\ [])

@spec not_in_dynamic(any(), any(), any(), nil | keyword() | map()) ::
  %Ecto.Query.DynamicExpr{
    binding: term(),
    file: term(),
    fun: term(),
    line: term()
  }

Builds a dynamic query where value is not in the the list attributes.

Parameters

  • key - Field name.
  • values - Pass a list of values of the field that represent range.
  • dynamics - Default or previous dynamic to append to the query.
  • opts - Options related to query bindings alongwith dynamic type(and/or).

Examples

iex> result = Elixir.FatEcto.FatQuery.FatNotDynamics.not_in_dynamic("experience_years", [2, 5], true, [dynamic_type: :and])
iex> inspect(result)
"dynamic([q], q.experience_years not in ^[2, 5] and ^true)"

not_like_dynamic(key, value, dynamics, opts \\ [])

@spec not_like_dynamic(any(), any(), any(), nil | keyword() | map()) ::
  %Ecto.Query.DynamicExpr{
    binding: term(),
    file: term(),
    fun: term(),
    line: term()
  }

Builds a dynamic query where field not matches the value substring.

Parameters

  • key - Field name.
  • value - Value of the field.
  • dynamics - Default or previous dynamic to append to the query.
  • opts - Options related to query bindings alongwith dynamic type(and/or).

not_lt_dynamic(key, value, dynamics, opts \\ [])

@spec not_lt_dynamic(any(), any(), any(), nil | keyword() | map()) ::
  %Ecto.Query.DynamicExpr{
    binding: term(),
    file: term(),
    fun: term(),
    line: term()
  }

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

Parameters

  • key - Field name.
  • value - Value of the field.
  • dynamics - Default or previous dynamic to append to the query.
  • opts - Options related to query bindings alongwith dynamic type(and/or).

Examples

iex> result = Elixir.FatEcto.FatQuery.FatNotDynamics.not_lt_dynamic("experience_years", 2, true, [dynamic_type: :and, binding: :last])
iex> inspect(result)
"dynamic([_, _, c], c.experience_years > ^2 and ^true)"

not_lte_dynamic(key, value, dynamics, opts \\ [])

@spec not_lte_dynamic(any(), any(), any(), nil | keyword() | map()) ::
  %Ecto.Query.DynamicExpr{
    binding: term(),
    file: term(),
    fun: term(),
    line: term()
  }

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

Parameters

  • key - Field name.
  • value - Value of the field.
  • dynamics - Default or previous dynamic to append to the query.
  • opts - Options related to query bindings alongwith dynamic type(and/or).

Examples

iex> result = Elixir.FatEcto.FatQuery.FatNotDynamics.not_lte_dynamic("experience_years", 2, true, [dynamic_type: :and, binding: :last])
iex> inspect(result)
"dynamic([c], c.experience_years > ^2 and ^true)"

not_nil_dynamic?(key, dynamics, opts \\ [])

@spec not_nil_dynamic?(any(), any(), nil | keyword() | map()) ::
  %Ecto.Query.DynamicExpr{
    binding: term(),
    file: term(),
    fun: term(),
    line: term()
  }

Builds a dynamic query where field is not nil.

Parameters

  • key - Field name .
  • dynamics - Default or previous dynamic to append to the query.
  • opts - Options related to query bindings alongwith dynamic type(and/or).

Examples

iex> result = Elixir.FatEcto.FatQuery.FatNotDynamics.not_nil_dynamic?("location", true, [dynamic_type: :and])
iex> inspect(result)
"dynamic([c], not is_nil(c.location) and ^true)"