[英]laravel make view without blade for solid message
我想做一個返回視圖的 function,但是如果找不到您要查找的項目,只需在視圖 object 中返回一條隱藏消息。
public function getBannerById(string $banner_id): View
$banner = Banner::find($banner_id);
if (!$banner) {
return view()->append('<!-- Banner not found! -->'); // this not work
}
// more code ....
return view('banner', ['banner' => $banner]);
}
您可以為此使用 laravel Session,如果找不到這些項目,請使用 session 消息返回您的視圖,然后在視圖中驗證 session 是否存在並顯示該消息。
在 controller:
if (!$banner) {
Session::flash('error', "Banner not found!");
return view('view.name'); //
}
在視圖中
@if (session('error'))
<div class="alert alert-danger" role="alert">
{{ session('error') }}
</div>
@endif
您可以簡單地返回Banner not found
或在刀片文件中附加 if-else 語句,如下所示:
Controller 代碼:
<?php
public function getBannerById(string $banner_id): View
$banner = Banner::find($banner_id);
return view('banner', compact('banner'));
}
查看刀片文件:
@if(!$banner)
<p> Banner not found!</p>
@else
// Your view you wish to display
@endif
更新:
如果找不到橫幅,您還可以使用findOrFail
方法自動將 404 響應發送回客戶端。
$banner = Banner::findOrFail($banner_id);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.