4
Скажем, у меня есть набор условий:Использование NOT с Squeel
Person.where{(name =~ 'Ernie%') & (salary < 50000) | (name =~ 'Joe%') & (salary > 100000)}
... который будет генерировать SQL следующим образом:
SELECT "people".* FROM people
WHERE ("people"."name" LIKE 'Ernie%' AND "people"."salary" < 50000)
OR ("people"."name" LIKE 'Joe%' AND "people"."salary" > 100000)
Как я могу идти о переворачивая возвращаемый набор, т.е. обновление Squeel вернуть следующий SQL:
SELECT "people".* FROM people
WHERE NOT(("people"."name" LIKE 'Ernie%' AND "people"."salary" < 50000)
OR ("people"."name" LIKE 'Joe%' AND "people"."salary" > 100000))
Это немного надуманный, так как мой вопрос также включает в себя динамически роды я не могу изменить фактические условия, но вам просто нужно их обернуть в NOT().
Какие-либо идеи или предложения о том, где искать?
Благодарим за это! Он пытался понять это. Это действительно документировано где-либо на странице Sicel github, или это недокументированная функция? – brad
Дает ошибку: 'NoMethodError: undefined method' - @ 'для false: FalseClass' – josal