Laravel控制器無法傳回會話變數
P粉998100648
P粉998100648 2023-08-13 20:34:28
0
1
627
<p>我正在學習Laravel,我試圖將成功訊息放入會話中,並在視圖中顯示,但似乎沒有起作用</p> <p>這是我在視圖部分的程式碼</p> <pre class="brush:php;toolbar:false;"><div class="col-sm-12 col-xl-12"> @if (session()->has('msg')) <h5> {{ session('msg') }}</h5> @endif</pre> <p>這是我用來新增內容並將訊息放入會話中的控制器函數</p> <pre class="brush:php;toolbar:false;">public function store(CatalogRequest $request) { $status=$this->catalog->insert([ 'name' => $request->name, 'status' => $request->status ]); if($status){ $msg = "新增目錄成功"; $color = 'success'; }else{ $msg = "新增目錄失敗"; $color = 'red'; } session()->put('msg',$msg); return redirect('catalog'); }</pre></p>
P粉998100648
P粉998100648

全部回覆(1)
P粉604848588

嘗試這個

session()->flash('msg', ['text' => $msg, 'color' => $color]);

在blade模板中

<div class="col-sm-12 col-xl-12">
    @if (session()->has('msg'))
        <h5 style="color: {{ session('msg.color') }}">{{session('msg.text') }}</h5>
    @endif
</div>

在這段程式碼中,我確保包含了正確的導入,使用了正確的方法進行資料插入,並使用了flash()方法而不是put()方法將訊息暫時儲存在會話中。此外,訊息的顏色也儲存在會話中,以便更好地控制樣式。

另外,你可以嘗試使用WITH方法來綁定它。

return back()->with('msg', 'Your message');

你可以使用redirect() redirect()->route()等方法。 此外,請仔細閱讀文件,你將從中獲得很多想法。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板