Rails find_by_sql зависит от типа базы данных - PullRequest
2 голосов
/ 01 октября 2010

Так что в рельсах я использую sqlite3 для разработки и mysql для производства.Sqlite3 и mysql обрабатывают логические значения по-разному («t» или «f» в sqlite3 и true или false в mysql).Обычно это не проблема, когда я делаю поиск, потому что я могу сделать это:

Comment.find(:all, :conditions => ["viewed = ?", false])

И rails вставит соответствующее значение в зависимости от средыНо что, если я хочу сделать find_by_sql, в котором мне нужно логическое значение?

1 Ответ

3 голосов
/ 01 октября 2010

Вам повезло! #find_by_sql также выполняет независимую от базы данных замену строки при передаче ей массива.

Comment.find_by_sql(["SELECT * FROM comments WHERE viewed = ?",  false])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...