我嘗試獲取數據庫中的最新帖子。我嘗試這樣做:如何使用Eloquent獲取N個最新的數據庫條目?
$users = Post::take(10)->get();
這產生了10個帖在該模型中。我想要10個最新的。我有表格行created_at
和updated_at
。
我嘗試獲取數據庫中的最新帖子。我嘗試這樣做:如何使用Eloquent獲取N個最新的數據庫條目?
$users = Post::take(10)->get();
這產生了10個帖在該模型中。我想要10個最新的。我有表格行created_at
和updated_at
。
正如保羅Bergantino said,這將做的工作:
# Get n latest posts #
$n = 10;
$latest_posts = Post::orderBy('created_at', 'DESC')->take($n)->get();
欲瞭解更多信息,請檢查文檔部分:Select - Order By, Group By, And Having。
雖然'created_at'可能適用於大多數情況,但如果可能的話,您應該使用'id DESC'。這是一個更小的領域,訂單更快,而且作爲主鍵,它總是被編入索引。使用'created_at'的唯一原因是沒有自動增加的字段。 – vFragosop
不錯的提示@vFragosop!我沒有意識到這一點! –
如果桌子上有數百萬個帖子,這會慢嗎?不使用created_at,使用id –
「雄辯」..?這與這個問題有什麼關係? –
我更新了澄清,謝謝! – Himmators
從來沒有聽說過雄辯,但快速瀏覽文檔顯示'Post :: orderBy('created_at','DESC') - > take(10) - > get();'應該工作嗎? –