繁体   English   中英

laravel 制作不带刀片的视图以获取实心消息

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM