ruby-on-rails - 使用事件记录搜索序列化数据

标签 ruby-on-rails search activerecord serialization

我正在尝试对序列化列进行简单的查询,如何执行此操作?

serialize :mycode, Array


1.9.3p125 :026 > MyModel.find(104).mycode
  MyModel Load (0.6ms)  SELECT `mymodels`.* FROM `mymodels` WHERE `mymodels`.`id` = 104 LIMIT 1
 => [43565, 43402] 
1.9.3p125 :027 > MyModel.find_all_by_mycode("[43402]")
  MyModel Load (0.7ms)  SELECT `mymodels`.* FROM `mymodels` WHERE `mymodels`.`mycode` = '[43402]'
 => [] 
1.9.3p125 :028 > MyModel.find_all_by_mycode(43402)
  MyModel Load (1.2ms)  SELECT `mymodels`.* FROM `mymodels` WHERE `mymodels`.`mycode` = 43402
 => [] 
1.9.3p125 :029 > MyModel.find_all_by_mycode([43565, 43402])
  MyModel Load (1.1ms)  SELECT `mymodels`.* FROM `mymodels` WHERE `mymodels`.`mycode` IN (43565, 43402)
 => [] 

最佳答案

这只是一个不减慢应用程序速度的技巧。您必须使用.to_yaml

确切结果:

MyModel.where("mycode = ?", [43565, 43402].to_yaml)
#=> [#<MyModel id:...]

仅针对 MySQL 进行测试。

关于ruby-on-rails - 使用事件记录搜索序列化数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9814622/

相关文章:

ruby-on-rails - 都柏林邮政编码的正则表达式

ruby-on-rails - rails : form for different controller

java - 有效地搜索 Comparable 对象的 Java 集合

api - gdata API不返回任何结果

HTML 删除文本之间所需的空格

ruby-on-rails - 如何在heroku上升级系统 gem ?

ruby-on-rails - 用于 rails 4 的 Stripe webhooks

html - 表格中的 Angular 搜索

mysql - MySQL 复合索引中键的高性能排序(WRT Rails 多态关联和 STI)

ruby-on-rails - 列错误地从 HSTORE 返回 key