При вызове User.last
похоже, что Active Record сортирует по id
.
User Load (1.4ms) SELECT * FROM
Пользователи ORDER BY users.id DESC LIMIT 1
Но при вызове User.first
он не использует предложение порядка.
User Load (1.9ms) SELECT * FROM
Пользователи LIMIT 1
Так это гарантированно вернуть пользователя с самым низким идентификатором? Кажется, на практике, но я не уверен, что MySQL гарантирует это.
Или вы должны сделать это: User.first(:order => 'id')
, что заставляет предложение порядка.
Редактировать: Я думаю, это действительно вопрос MySQL. SELECT * FROM
users LIMIT 1
гарантированно вернет пользователя с самым низким идентификатором?