Laravel搜索功能

时间:2019-11-14 06:26:04

标签: php laravel laravel-5 eloquent

我有一个关于Laravel搜索功能的问题,我已经遵循guildeline,但是仍然无法搜索类别,有人可以指导我并告诉我我做错了什么吗?非常感谢

我的类别控制器php代码

public function search(Request $request)
{
    $search = $request->get('search');
    $posts = DB::table('bit_app_policy_category')->where('id','like','%' .$search. '%')->paginate(5);
    return view('category.index',['posts' => $posts]);
}

我的index.blade代码

   <div align="left">
            <div class="col-md-4">
                <h1>Policy</h1>


            </div>
            <div class="col-md-4">
                <form action="/search" method="get" role="search">
                    {{ csrf_field() }}
                    <div class="input-group">
                        <input type="text" class="form-control" name="_method" placeholder="Search ID / Code"> <span class="input-group-btn">
                            <button type="submit" class="btn btn-primary">Search</button></span>
                    </div>
                </form>
            </div>
        </div>

web.php

Route::get('/search','categoryController@search');

我遇到什么错误 Error image

interface

Database

2 个答案:

答案 0 :(得分:0)

请更改您的刀片文件目录。

并保存您的文件名,例如 index.blade.php

   public function search(Request $request)
    {
        $search = $request->get('search');
        $posts = DB::table('bit_app_policy_category')->where('id','like','%' .$search. '%')->paginate(5);
        return view('category.index',compact('posts'));
    }

答案 1 :(得分:0)

您正在向您的视图发送$posts变量。但是错误表明您正在引用一个$category变量。

return view('category.index',['posts' => $posts]);

也许您可能想更新视图以使用$posts。如果您可以发布完整的代码(category / index.blade.php),我们也许可以为您提供更好的帮助。

__ 这是我的做法:

$categories= DB::table('bit_app_policy_category')->where('id','like','%' .$search. '%')->paginate(5);
return view('category.index',['categories' => $categories]); //you can also use compact  return view('category.index', compact('categories') );

并显示:

@foreach( $categories as $category )
    <div>{{ $category->id }}</div>
@endforeach

另一个提示:您可以这样命名路线

Route::get('search','categoryController@search')->name('search');

然后,您可以像这样引用此路线(无论是形式还是其他方式):

<form action="{{ route('search') }}" ..>