【问题标题】:Rails where with array returned data order带有数组返回数据顺序的Rails
【发布时间】: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


    【解决方案1】:

    记录将始终按id 列的升序从数据库中获取(除非您指定其他顺序)。

    所以是的,这就是行为,你总是会在这里得到任务。

    【讨论】:

    • 这回答了我的问题,但是我还有一个问题,如果我不知道我传递的 ID 怎么办,那么如何确保我将得到正确的分配? Product.where(id: [id1, id2])
    • 你能提供这个例子,所以我明白你的意思吗?
    • id1 = 2, id2 = 1 p1, p2 = Product.where(id: [id1, id2]) 对 ID 进行排序无济于事,因为分配顺序不会相对排序。
    • @IslamWazery 我想你可以找到一些提示in this article
    猜你喜欢
    • 2013-01-23
    • 1970-01-01
    • 2012-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-15
    相关资源
    最近更新 更多