【发布时间】:2016-02-04 11:34:21
【问题描述】:
我只是想确保如果我使用了这样的 where 查询:
product1, product2 = Product.where(id: [1, 2]) 它将始终按照数组中指定的顺序返回数据,因此分配将始终正确。
是这种行为还是它有时可能不会按特定顺序返回数据?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 activerecord
我只是想确保如果我使用了这样的 where 查询:
product1, product2 = Product.where(id: [1, 2]) 它将始终按照数组中指定的顺序返回数据,因此分配将始终正确。
是这种行为还是它有时可能不会按特定顺序返回数据?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 activerecord
记录将始终按id 列的升序从数据库中获取(除非您指定其他顺序)。
所以是的,这就是行为,你总是会在这里得到任务。
【讨论】:
Product.where(id: [id1, id2])
id1 = 2, id2 = 1 p1, p2 = Product.where(id: [id1, id2]) 对 ID 进行排序无济于事,因为分配顺序不会相对排序。