Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 ActiveRecord::Relation.last不一致的结果_Ruby On Rails 3_Activerecord - Fatal编程技术网

Ruby on rails 3 ActiveRecord::Relation.last不一致的结果

Ruby on rails 3 ActiveRecord::Relation.last不一致的结果,ruby-on-rails-3,activerecord,Ruby On Rails 3,Activerecord,我有一个订阅应用程序,其中包含用户、订单和交付计划(以及其他使has\u many:through成为必需而不是has\u many的模型) 返回不同于 @allusers.each do |t| t.deliveryschedules.last.delivery_date end 我的应用程序正在运行,但我觉得我缺少一些基本的东西,我无法在文档中找到。这是正常的数据库行为。从数据库返回的记录的顺序是不确定的,除非您专门使用orderby。因此,两个不同的查询可能会以不同的顺序返回行。

我有一个订阅应用程序,其中包含用户、订单和交付计划(以及其他使has\u many:through成为必需而不是has\u many的模型)

返回不同于

@allusers.each do |t|
    t.deliveryschedules.last.delivery_date
end

我的应用程序正在运行,但我觉得我缺少一些基本的东西,我无法在文档中找到。

这是正常的数据库行为。从数据库返回的记录的顺序是不确定的,除非您专门使用
orderby
。因此,两个不同的查询可能会以不同的顺序返回行。

但我不明白的是,这两个不同的查询是怎么回事?此外,我似乎不能按ActiveRecord::Relations进行订购-有没有一种简单的方法可以确保我从deliveryschedules表中获取最后一个ID?@RubyNoob是-如果您使用
.ORDER(:ID)
来获取
.last
的任何关系,您都可以确保获取最后一个ID。
@allusers.each do |t|
    User.find_by_id(t.id).deliveryschedules.last.delivery_date
end
@allusers.each do |t|
    t.deliveryschedules.last.delivery_date
end