在Laravel中使用两个输入框从数据库中过滤数据,可以通过以下步骤实现:
<form>
标签和<input>
标签创建一个表单。Route::post
方法来定义一个POST请求的路由,并指定对应的控制器方法。where
方法来添加过滤条件,根据用户输入的值来过滤数据库中的数据。get
方法来执行查询,并将查询结果传递给视图。下面是一个示例代码,演示如何在Laravel中使用两个输入框从数据库中过滤数据:
<form action="/filter" method="post">
@csrf
<input type="text" name="name" placeholder="Name">
<input type="text" name="age" placeholder="Age">
<button type="submit">Filter</button>
</form>
在web.php文件中定义路由:
Route::post('/filter', 'FilterController@filter');
在FilterController.php文件中定义控制器方法:
public function filter(Request $request)
{
$name = $request->input('name');
$age = $request->input('age');
$query = DB::table('users');
if ($name) {
$query->where('name', $name);
}
if ($age) {
$query->where('age', $age);
}
$users = $query->get();
return view('result', ['users' => $users]);
}
@foreach ($users as $user)
<p>{{ $user->name }}, {{ $user->age }}</p>
@endforeach
通过以上步骤,用户可以在表单中输入过滤条件,提交表单后,Laravel会根据用户输入的条件从数据库中过滤数据,并将过滤后的结果展示在结果视图中。
请注意,以上示例中使用了Laravel的查询构建器来构建数据库查询,如果需要使用Eloquent ORM进行查询,可以根据具体情况进行调整。
领取专属 10元无门槛券
手把手带您无忧上云