日常

ケ・セラ・セラ

rails limitではなくtakeの使いどころ

limit 使えばいいし、take 使いどころ無いのでは?と思っていました。

先頭 1 件だけほしい時、Model.first すると、order by id ASC LIMIT 1 となります。

Model.limit(1) の場合、order by id しません。

Model.take も同様です。こういう時、take を使う気になりましたね。

[18] pry(main)> Article.first
  Article Load (0.8ms)  SELECT  "articles".* FROM "articles"  ORDER BY "articles"."id" ASC LIMIT 1

[19] pry(main)> Article.limit(1)
  Article Load (0.7ms)  SELECT  "articles".* FROM "articles" LIMIT 1

[20] pry(main)> Article.take
  Article Load (0.2ms)  SELECT  "articles".* FROM "articles" LIMIT 1