mysql - 你如何在 (?) 调用中执行 SQL 查找?

标签 mysql ruby-on-rails arrays conditional-statements

这似乎不起作用:

@zip = %w[07005, 07034, 07035]

CardSignup.find(:all, :conditions => ["zip_code IN (?)", @zip])

=> [ ]

但是,如果我对第二个邮政编码执行简单的 find_by,它会返回一个结果:

CardSignup.find_by_zip_code("07034")

=> Object<x01231 ..

我做错了什么?

最佳答案

您对数组的实现不正确。你现在的方式是逗号是每个数组对象的一部分:

>> %w[07005, 07034, 07035]
=> ["07005,", "07034,", "07035"]

你应该在删除逗号的情况下实现它:

>> %w{07005 07034 07035}
=> ["07005", "07034", "07035"]

或:

>> [07005, 07034, 07035]
=> [07005, 07034, 07035]

所以完整的实现是:

@zip = %w{07005 07034 07035}

CardSignup.find(:all, :conditions => ["zip_code IN (?)", @zip])

=> [Object<x01231 ..

关于mysql - 你如何在 (?) 调用中执行 SQL 查找?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5537913/

相关文章:

java解析器文件文本

mysql - 每个派生表都必须有自己的别名错误mysql

ruby-on-rails - 工厂女孩 "Invalid gemspec"期间的 "bundle install"消息(rails 3.1 和 ruby​​ 1.9.2p290)

arrays - 如何在 Bash 中为动态关联数组赋值?

python - 在 For 循环中从 Windows 批处理文件中的数组访问项目

arrays - 在 GLSL 着色器中使用小型查找表

Mysql - 根据月份日期合并两个表

mysql - 将 MS SQL 存储过程移植到 MySQL

ruby-on-rails - Rails rubber - 找不到 cap 命令

ruby-on-rails - 使用带有回形针附件的 FactoryGirl 的 attributes_for