我需要在 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()我該如何修復它?我還想知道,如何才能先顯示所有職位,然后再搜索匹配的職位?
2 回答

臨摹微笑
TA貢獻1982條經驗 獲得超2個贊
在您的代碼中,該類Input引用了錯誤的源Symfony\Component\Console\Input\Input,這有助于從 讀取輸入terminal/console。
您必須使用Illuminate\Support\Facades\Input來獲取輸入HTTP 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 回答
- 0 關注
- 146 瀏覽
添加回答
舉報
0/150
提交
取消