据此, ActiveRecordfirst
生成 SQL:
SELECT * FROM clients LIMIT 1
而 ActiveRecordlast
生成 SQL:
SELECT * FROM clients ORDER BY clients.id DESC LIMIT 1
根据我的观点,on的行为first
是不正确的,而 onlast
它是。如果不指定顺序,简单的 SELECT 会以任意或不可预测的顺序返回。因此,first
不保证总是返回相同的记录(如果不是具有最小 id 的记录)。
有谁知道,为什么 Rails ActiveRecord 会这样工作?
在此先感谢帕纳约蒂斯