如何在laravel中使用多个输入字段在laravel中实现搜索功能

文斯

我正在使用laravel和vue.js进行在线票务服务。我想在我的网站中使用多个字段来实现搜索功能。例如:航班目的地,到达时间,日期。我不知道如何在laravel中实现它。我看过几个视频,但对我来说不起作用。有人知道我该怎么办吗?

这是我的输出 在此处输入图片说明

index.blade.php

         <h2 class="text-4 mb-3">Book Domestic and International Flights</h2>
                <form id="bookingFlight" action="{{url("/flightSearch")}}">
                        {{ csrf_field() }}
                    <div class="form-row">
                    <div class="col-md-8 col-lg-3 form-group">
                        <input type="text" class="form-control" id="flightFrom" required placeholder="From">
                        <span class="icon-inside"><i class="fas fa-map-marker-alt"></i></span> </div>
                    <div class="col-md-8 col-lg-3 form-group">
                        <input type="text" class="form-control" id="flightTo" required placeholder="To">
                        <span class="icon-inside"><i class="fas fa-map-marker-alt"></i></span> </div>
                    <div class="col-md-8 col-lg-3 form-group">
                        <input id="flightDepart" type="text" class="form-control" required placeholder="Depart Date">
                        <span class="icon-inside"><i class="far fa-calendar-alt"></i></span> </div>
                    <div class="col-md-8 col-lg-3 form-group">
                        <input id="flightReturn" type="text" class="form-control" required placeholder="Return Date">
                        <span class="icon-inside"><i class="far fa-calendar-alt"></i></span> </div>

                    <div class="col-md-12 form-group">
                        <button class="btn btn-primary btn-block" type="submit">Search</button>
                    </div>
                    </div>
                </form>
                </div>

FlightsController.php


namespace App\Http\Controllers;

use App\Flights;
use Illuminate\Http\Request;

class FlightsController extends Controller
{
    public function searchFlights(Request $request){
       return $request->all();
    }
}

web.php

Route::get('/flightSearch', '[email protected]')->name('flightSearch');

Flights.php

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Flights extends Model
{
    protected $fillable = [
        'flightFrom', 'flightTo', 'flightDepart', 'flightReturn',
    ];
}

los

首先,您需要将方法添加到表单中并将名称添加到输入中

<form method="GET" id="bookingFlight" action="{{url("/flightSearch")}}">
    {{ csrf_field() }}
    <input type="text" name="flightFrom" class="form-control" id="flightFrom" required placeholder="From">
    <input type="text" name="flightTo" class="form-control" id="flightTo" required placeholder="To">
    <input name="flightDepart" id="flightDepart" type="text" class="form-control" required placeholder="Depart Date">
    <input name="flightReturn" id="flightReturn" type="text" class="form-control" required placeholder="Return Date">
    <button class="btn btn-primary btn-block" type="submit">Search</button>
</form>

然后您可以根据请求数据执行查询:

public function searchFlights(Request $request){
    return Flights::where('flightFrom', 'like', '%' . $request->flightFrom . '%')
        ->where('flightTo', 'like', '%' . $request->flightTo . '%')
        ->where('flightDepart', 'like', '%' . $request->flightDepart . '%')
        ->where('flightReturn', 'like', '%' . $request->flightReturn . '%')
        ->get();
}


基于@RioHilmy注释,请注意,您可以使用输入类型date作为flightDepart和flightReturn的输入:

<form method="GET" id="bookingFlight" action="{{url("/flightSearch")}}">
    {{ csrf_field() }}
    <input type="text" name="flightFrom" id="flightFrom" required placeholder="From">
    <input type="text" name="flightTo" id="flightTo" required placeholder="To">
    <input name="flightDepart" type="date" id="flightDepart" required>
    <input name="flightReturn" type="date" id="flightReturn" required>
    <button class="btn btn-primary btn-block" type="submit">Search</button>
</form>

然后您可以使用日期值执行查询:

public function searchFlights(Request $request){
    return Flights::where('flightFrom', 'like', '%' . $request->flightFrom . '%')
        ->where('flightTo', 'like', '%' . $request->flightTo . '%')
        ->whereDate('flightDepart', $request->flightDepart)
        ->whereDate('flightReturn', $request->flightReturn)
        ->get();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在 Laravel 中使用搜索功能?

如何在Laravel中使用Ajax正确实现简单的搜索功能?

如何在 Laravel 中使用 eloquent 使用包含在数组字段中的搜索值

如何在Laravel中使用多个可选参数从数据库中搜索?

如何在 Laravel 中使用 update() 功能?

如何在Laravel中在DB :: select中使用多个WHERE

如何在laravel中使用javascript通过输入(文本字段)将数据添加到HTML表中?

如何在Django中实现搜索功能?

如何在android中实现搜索功能

如何在 Jquery 中实现搜索功能?

如何在类似搜索中使用 ORM 从两个表中获取数据 - 使用 Laravel

Laravel:如何在新变量中存储 href id 并在输入字段中显示或使用?

如何在Laravel 5.5中实现多个多对多关系?

如何在PHP(Laravel)中使用接口的多种实现?

如何在Laravel Job Class中使用绑定实现?

如何在laravel中搜索多个关键字?

如何在输入字段中实现建议

如何在Laravel中使用多列搜索

使用 Laravel 实现搜索

如何在laravel中使用pangination和sortByDesc功能?

如何在Laravel模型中使用多功能

如何在laravel中插入多个字段?

如何在Laravel中使用旧输入重定向?

如何在 Laravel 中使用 30 分钟撤消功能从数据库中删除行

在laravel中,如何使用2个输入字段“ id”和“加入日期”在视图中搜索和显示学生数据

如何在Laravel模型中使用多个工具

如何在Laravel中使用多个数据库

如何在Laravel中使用多个required_if?

如何在Laravel查询中使用多个OR,AND条件