0

私は、Users、Orders、DeliverySchedules (および has_many の代わりに has_many :through を必要とする他のモデル) を使用したサブスクリプション アプリケーションを持っています。

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

私のアプリは動作していますが、ドキュメントで追跡できない基本的なものが欠けているように感じます。

4

1 に答える 1

0

これは通常のデータベースの動作です。特にを使用しない限り、データベースから返されるレコードの順序は未定ですORDER BY。したがって、2つの異なるクエリが異なる順序で行を返す可能性があります。

于 2012-08-28T17:23:38.857 に答える