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 がそのように機能するのはなぜですか?
よろしくお願いします