Итак, я пытаюсь реализовать функцию запроса для таблицы Collection. И эта таблица ДОЛЖНА быть отфильтрована по: id, но она МОЖЕТ также быть отфильтрована по: rating и: accessibility.
Прямо сейчас у меня есть функция, которая выглядит примерно так:
def find_collection(args) do...
Где args может быть одним из: %{id: id}
, %{id: id, rating: rating}
, %{id: id, accessibility: accessibility}
или %{id: id, rating: rating, accessibility: accessibility}
. И мне нужно сделать это в экто-запросах: [id: id]
, [id: id, rating: rating]
, et c ...
Я знаю, что могу сделать 4 разные функции, которые ожидают разные args
, но это кажется очень многоразового использования. Может быть, кто-нибудь может дать мне лучший способ сделать компоновку «если у карты есть ключ a, то сделать это и ключ b, сделать это»?