我有一个关于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
答案 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') }}" ..>