Правильный синтаксис и варианты использования для MetaWhere in_all и in_any

Я изучал возможности MetaWhere за последние пару дней. Большинство предсказаний довольно просты, но я застрял на том, как использовать in_all а также in_any,

Вот некоторые из моих попыток:

Group.where(:id.in_any => [1,2,3])
  => SELECT `groups`.* FROM `groups` WHERE ((`groups`.`id` IN (1) OR `groups`.`id` IN (2) OR `groups`.`id` IN (3)))

Group.where(:id.in_any => [[1,2,3],[4,5,6],[7,8,9]])
  => undefined method 'visit_Fixnum' for #<MetaWhere::Visitors::Predicate:0x3740ba0>

Group.where(:id.in_any => [["1","2","3"],["4","5","6"],["7","8","9"]])
  => SELECT `groups`.* FROM `groups` WHERE (('1' AND '4' AND '7'))

Group.where(:id.in_any => ["(1,2,3)","(4,5,6)","(7,8,9)"])
  => SELECT `groups`.* FROM `groups` WHERE ((`groups`.`id` IN (0) OR `groups`.`id` IN (0) OR `groups`.`id` IN (0)))

Group.where(:id.in_any => ["1,2,3","4,5,6","7,8,9"])
  => SELECT `groups`.* FROM `groups` WHERE ((`groups`.`id` IN (1) OR `groups`.`id` IN (4) OR `groups`.`id` IN (7)))

Я предполагаю, что они должны AND или же OR куча IN пункты, но я не могу понять, как их правильно настроить, и при этом я не смог найти приличную документацию. И если у кого-либо есть примеры ситуаций, в которых эти предсказания были бы полезны, это также было бы оценено.

1 ответ

Решение

Иногда это помогает перейти прямо к источнику. Похоже, что есть ошибка: https://twitter.com/#!/erniemiller/status/191151541342830592

Другие вопросы по тегам