【问题标题】:Rails find_by_sql database type dependentRails find_by_sql 数据库类型依赖
【发布时间】:2011-04-19 23:06:15
【问题描述】:

所以在 Rails 中,我使用 sqlite3 进行开发,使用 mysql 进行生产。 Sqlite3 和 mysql 处理布尔值的方式不同(sqlite3 中的“t”或“f”,mysql 中的 true 或 false)。通常我进行查找时这不是问题,因为我可以这样做:

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

Rails 会根据环境插入适当的值。但是如果我想做一个需要布尔值的 find_by_sql 怎么办?

【问题讨论】:

    标签: sql mysql ruby-on-rails sqlite activerecord


    【解决方案1】:

    你很幸运! #find_by_sql 还可以在您将数组传递给它时执行与数据库无关的字符串替换。

    Comment.find_by_sql(["SELECT * FROM comments WHERE viewed = ?",  false])
    

    【讨论】:

    • ahhhh...我是智障,我想我应该在发布这个问题之前尝试一下。
    猜你喜欢
    • 2018-09-02
    • 1970-01-01
    • 1970-01-01
    • 2014-05-09
    • 1970-01-01
    • 2014-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多