laravel - 如果搜索为空,则在另一个相关表上记录用户信息
问题描述
我有两张表 Visitor 和 visitor_date
在访问者上,我有一些信息,如姓名、电子邮件和 created_at 来记录用户创建时间和访问者数据,其中包含 3 个字段 id、visitor_date(设置为记录 CURRENT_TIMESTAMP)和 visitor_id,该字段是访问者的 FK桌子。
我想要实现的是记录有人访问我们拥有的任何构建以及他们访问的日期。如果我搞砸了逻辑,请告诉我,这样我就可以修复它并让它变得不同。
我到现在为止就是这个。
带有搜索字段的控制器,它将帮助我处理刀片文件。这是控制器的一部分。
if (isset($_GET['search'])) {
$search = $request->search;
$visitors = Visitor::where('email', 'LIKE', "%{$search}%")
// ->orWhere('name', 'LIKE', "%{$search}%")
->get();
return view('visitors.visitor_add', compact('visitors'));
} else {
return view('visitors.visitor_add');
}
在刀片上我有这个
处理搜索的表单,如果找不到电子邮件或姓名,页面会询问我们是否要添加它,如果找到记录,我想记录访问。
@if ($visitors->isEmpty())
<div>
<h2>No visitors found</h2>
<p>Add it?</p>
</div>
@else
@foreach ($visitors as $visitor)
<div class="visit-list">
<p>{{ $visitor->email }} - Record visit?</p>
</div>
@endforeach
@endif
如何使用之前找到的 ID 记录访问?
解决方案
您可以使用 forelse 而不是 is empty
@forelse ($visitors as $visitor)
<div class="visit-list">
<p>{{ $visitor->email }}</p>
</div>
@empty
<div>
<span>Data Not Found</span>
</div>
@endforelse
推荐阅读
- webpack - webpack 多个入口点(数组)按顺序排列
- .net - gitlab ci yaml 为 dontnet 框架和 .net 核心配置
- cucumber - 在'step 2'中执行'step 1' - cypress+cucumber
- numba - Numba 缓存和迭代求解
- azure - ADSTS50011:请求中指定的回复 URL 与为应用程序配置的回复 URL 不匹配
- html - 在 CSS 中排序大小不等的元素
- python - 如何解决 PyQt5 的 pyOpenGL glViewport 错误
- javascript - 画布单个对象旋转而不是全部
- azure - 使用 sendgrid 发送电子邮件时出错
- c# - 如何在 ASP.NET Core 中创建 html 离线应用程序清单