thisに従って、ActiveRecordfirstは SQL を生成します。
SELECT * FROM clients LIMIT 1
一方、ActiveRecordlastは SQL を生成します。
SELECT * FROM clients ORDER BY clients.id DESC LIMIT 1
first私の意見によると、上の動作は正しくありませんが、上の場合は正しいlastです。順序を指定しない場合、単純な SELECT は任意の順序または予測できない順序で返されます。したがって、first常に同じレコードを返すことは保証されません (最小 ID のレコードでない場合)。
Rails ActiveRecord がそのように機能するのはなぜですか?
よろしくお願いします