在 Laravel 裡透過 Livewire 讀取資料很方便,在建立 Livewire 相關的檔案後,可以在 Livewire 的 controller 裡把資料帶到前端:

public function render()
    {
        $flash = $this->flashNews();
        return view('livewire.break-news-bar', compact('flash'));
    }
protected function flashNews()
    {
        return Cache::remember('flash',300,function(){
            return FlashMessage::where('created_at', '>=', now()->subHours(1))
                ->latest()->first();
        });
    }

這樣只要在要使用這個 Livewire 的地方把資料放進去就好了。

@livewire('break-news-bar')