【问题标题】:Search jobs in Laravel在 Laravel 中搜索工作
【发布时间】:2020-12-17 07:23:16
【问题描述】:

我需要在 Laravel 中制作搜索表单

这是代码welcome.blade.php

<form action="/search" method="POST" role="search">
    {{ csrf_field() }}
    <div class="input-group">
        <input type="text" class="form-control" name="q"
               placeholder="Search job"> <span class="input-group-btn">
            <button type="submit" class="btn btn-default">
                <span class="glyphicon glyphicon-search"></span>
            </button>
        </span>
    </div>
</form>
<div class="container">
    @if(isset($details))
        <div class="row">
            @foreach( $details as $job)
                <h5>{{$job->company_name}}</h5>
                <h3>{{$job->job_name}}</h3>
            @endforeach
        </div>
    @endif
</div>

这是 web.php 中的路由:

   Route::any('/search', function () {
    $q = Input::get('q');
    $job = Job::where('job_name', 'LIKE', '%' . $q . '%')
        ->orWhere('company_name', 'LIKE', '%' . $q . '%')
        ->get();
    if (count($job) > 0)
        return view('welcome')
            ->withDetails($job)
            ->withQuery($q);
    else
        return view('welcome')
            ->withMessage('No Details found. Try to search again !');
});

我收到一个错误:

调用未定义的方法 Symfony\Component\Console\Input\Input::get()

我该如何解决?

我也想知道,如何先显示所有职位,然后再搜索匹配的职位?

【问题讨论】:

标签: php laravel


【解决方案1】:

在您的代码中,Input 类引用了错误Symfony\Component\Console\Input\Input,这有助于读取来自 terminal/console 的输入。

您必须使用Illuminate\Support\Facades\InputHTTP Request 获取输入。

使用Illuminate\Http\Request

Route::any('/search', function (Illuminate\Http\Request $request) {
    $q = $request->get('q');
    ...

Route::any('/search', function () {
    $q = \request('q'); // also uses Illuminate\Http\Request
    ...

【讨论】:

  • 谢谢!你知道我如何首先显示所有工作,然后搜索后只显示匹配的工作吗?因为此时,在搜索之前我的页面是空的
【解决方案2】:

您使用了错误的Input 类。

use Illuminate\Support\Facades\Input;

或者你可以简单地使用request('q')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-09
    • 2020-02-22
    • 2016-08-06
    • 2017-03-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多