【发布时间】:2012-07-26 10:02:23
【问题描述】:
当我想使用 DataMapper 进行 OR 查询时
result = MyModel.all(:first_name.like => '%john%') + MyModel.all(:last_name.like => '%john%')
这很好用并且只生成一个 SQL 查询。 如何使用数组中给定的属性创建相同的结果?
result = [ :first_name, :last_name ].reduce([]) do |sum, prop|
sum + MyModel.all(prop.like => '%john%')
end
虽然这可行,但它使用两个单独的 SQL 查询,这不是我想要的。有没有办法在循环中创建这样一个“惰性”查询?
【问题讨论】:
标签: sql ruby datamapper