Hello. I’m stuck on something.
I’m trying to build a dynamic query in Ecto. I would be expecting an array with
ids for example:
[111, 35]. Then I would be generating a query like this:
select * from brands where id = 111 or id = 35
The thing is I don’t how many
ids I will be receiving.
I’m trying to implement something like this:
def get_brands(ids) do query = from b in Brand, where: format_ids_selection(b), select: b.name Repo.all(query) end
# This doesn't work. This is some kind of pseudo-code defp format_ids_selection(brand, ids) do Enum.reduce(ids, "", fn x, acc -> brand.id = acc <> " or" end) end
Hopefully the idea is well explained and some of you have done something similar and give me an idea.