actualizaciones y logs
This commit is contained in:
@ -48,11 +48,20 @@ defmodule ExpressionToEcto do
|
||||
end
|
||||
|
||||
# IN
|
||||
defp build_dynamic({:comparison, [{:field, field}, :in, {:list, vals}]}) do
|
||||
defp build_dynamic({:comparison, [{:field, field}, :in, {:list, vals}]}) when is_list(vals) do
|
||||
field_atom = String.to_atom(field)
|
||||
dynamic([q], field(q, ^field_atom) in ^vals)
|
||||
|
||||
parsed_vals =
|
||||
Enum.map(vals, fn
|
||||
{:string, val} -> val
|
||||
{:number, val} -> val
|
||||
other -> raise "Tipo de dato no soportado en IN: #{inspect(other)}"
|
||||
end)
|
||||
|
||||
dynamic([q], field(q, ^field_atom) in ^parsed_vals)
|
||||
end
|
||||
|
||||
|
||||
defp build_dynamic(other) do
|
||||
raise "AST no soportado o mal formado: #{inspect(other)}"
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user