trubo_ecto v0.1.3 Trubo.Ecto.Hooks.Search
Single Table Search
Link to this section Summary
Functions
Builds a search Ecto.Query.t
on top of a given Ecto.Query.t
variable
with given params
Link to this section Functions
Builds a search Ecto.Query.t
on top of a given Ecto.Query.t
variable
with given params
.
Example
When build params use :like
iex> params = %{"q" => %{"name_like" => "name"}}
iex> Trubo.Ecto.Hooks.Search.run(Trubo.Ecto.Product, params)
#Ecto.Query<from p in Trubo.Ecto.Product, where: like(p.name, ^"%name%")>
When params include :ilike
iex> params = %{"q" => %{"name_ilike" => "name"}}
iex> Trubo.Ecto.Hooks.Search.run(Trubo.Ecto.Product, params)
#Ecto.Query<from p in Trubo.Ecto.Product, where: ilike(p.name, ^"%name%")>
When params include :eq
iex> params = %{"q" => %{"price_eq" => 100}}
iex> Trubo.Ecto.Hooks.Search.run(Trubo.Ecto.Product, params)
#Ecto.Query<from p in Trubo.Ecto.Product, where: p.price == ^100>
When params include :gt
iex> params = %{"q" => %{"price_gt" => 100}}
iex> Trubo.Ecto.Hooks.Search.run(Trubo.Ecto.Product, params)
#Ecto.Query<from p in Trubo.Ecto.Product, where: p.price > ^100>
When params include :lt
iex> params = %{"q" => %{"price_lt" => 100}}
iex> Trubo.Ecto.Hooks.Search.run(Trubo.Ecto.Product, params)
#Ecto.Query<from p in Trubo.Ecto.Product, where: p.price < ^100>
When params include :gteq
iex> params = %{"q" => %{"price_gteq" => 100}}
iex> Trubo.Ecto.Hooks.Search.run(Trubo.Ecto.Product, params)
#Ecto.Query<from p in Trubo.Ecto.Product, where: p.price >= ^100>
When params include :lteq
iex> params = %{"q" => %{"price_lteq" => 100}}
iex> Trubo.Ecto.Hooks.Search.run(Trubo.Ecto.Product, params)
#Ecto.Query<from p in Trubo.Ecto.Product, where: p.price <= ^100>