簡體   English   中英

Laravel 8:方法 Illuminate\Database\Eloquent\Collection::latest 不存在

[英]Laravel 8: Method Illuminate\Database\Eloquent\Collection::latest does not exist

我正在使用 Laravel 8 開發我的項目,在這個項目中,我使用這種方法從數據庫返回最新數據,限制 5 個結果:

public function index()
    {
        $posts = Blog::all()->latest()->limit(5);;
        return view('blog', compact('posts'));
    }

如您所見,我使用了latest()因為,我使用的是 Laravel 時間戳(created_at,updated_at),正如這個鏈接所說,有一個方便的 eloquent/qb 方法稱為->latest()用於顯示最新結果。

但現在我將此視為錯誤:

BadMethodCallException 方法Illuminate\Database\Eloquent\Collection::latest 不存在。

那么這里出了什么問題? 我該如何解決這個問題?

我真的很感激你們的任何想法或建議......

提前致謝。

請注意,我還使用了Illuminate\Support\Facades\DB; 在Controller的頂部,但沒有解決問題!

latest()是一個Eloquent\Builder方法。 Blog::all()是一個Eloquent\Collection實例。

為了使您的代碼正常工作,它應該是:

Blog::latest()->limit(5)->get();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM