我有一个订阅应用程序,其中包含Users,Orders和DeliverySchedules(以及其他使用has_many的模型:通过必要而不是has_many)。
class User < ActiveRecord::Base
has_many :orders
has_many :deliveryschedules, :through => :orders
class Deliveryschedule < ActiveRecord::Base
has_many :orders
has_many :users, :through => :orders
class Order < ActiveRecord::Base
belongs_to :user
belongs_to :deliveryschedule
我的问题是,为什么
@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
我的应用程序正在运行,但我觉得我错过了一些基本的东西,我无法在文档中找到它。
答案 0 :(得分:0)
这是正常的数据库行为。除非您专门使用ORDER BY
,否则从数据库返回的记录顺序是不确定的。因此,两个不同的查询可能会以不同的顺序返回行。