У меня есть карта:
allowed_lookup = %{coordinate: "15.0", id: 1}
Я хочу использовать эту карту, чтобы сделать запрос Ecto для фильтрации некоторых записей в базе данных.
Я думаю что-то вроде этого:
Enum.reduce(allowed_lookup, Project.Models.Grid,
fn {x,y}, query ->
IO.puts "#{inspect x} , #{inspect y}"
query = where(query, [q] , q.x == ^y)
end)
queryset = Project.Repo.all(query)
Таким образом, он будет рекурсивно применять все фильтры, присутствующие на карте, чтобы получить набор запросов.Но этот код недействителен, так как qx не конвертируется в q.coordinate или q.id.