## 簡易モデル class User has_many :posts has_one :post end class Post belongs_to :user end
userに複数のpostが紐づくとき、has_one post
は何になるか
user = User.find(1) user.post => ???
以下のようなsqlが発行されるが、order byの指定がない postが複数ある場合、どんな順番で返ってくるのか?
SELECT "posts".* FROM "posts" WHERE "posts"."user_id" = $1 LIMIT $2 [["user_id", 1], ["LIMIT", 1]]
- updateされた順? x
- create順? x
id順? x
システムが計算過程で見つけた順番
参考: SELECT ※ postgresql以外の挙動は不明
まとめ
必要に応じて順番明示したほうが良い