laravel - Laravel 搜索功能
问题描述
我的主页上有一个搜索栏,如下所示:
<form action="{{ route('search', $query) }}" method="GET" role="search">
<div class="input-group mb-4 search_bar">
<input type="search" name="search" placeholder="Search..." aria-describedby="button-addon5" class="form-control search_input">
<div class="input-group-append">
<button id="button-addon5" type="submit" class="btn btn-primary"><i class="fa fa-search"></i></button>
</div>
</div>
</form>
我的路线如下所示:
Route::get('all-{query}-posts', 'SearchController@index')->where('query', '[A-Za-z0-9-]+')->name('search');
所以基本上我希望在我的 url 中输入搜索栏: /all-stuff-posts 而不是通常的: ?search=stuff 即使我没有添加,它似乎会自动将 ?search=stuff 添加到末尾任何地方,所以这是第一个问题。
第二个问题是我只能在控制器中检索查询,但这给了我在 web.php 中的错误,因为查询仍未设置。有没有不同的方法可以做到这一点?
解决方案
像这样更改下面的表单操作方法
<form action="{{url('')}}/all-{{$query}}-posts" ...>
推荐阅读
- python - Sublime Text - Python 环境,断点时
- c# - 为什么玩家移动错误 - Unity 3D C#
- java-native-interface - JNI:我应该在使用“NewByteArray”和“SetByteArrayRegion”之后调用“ReleaseByteArrayElements”吗?
- javafx - PseudoClass:设置自定义状态时状态中断的通知
- javascript - 我如何同步调用promise
- machine-learning - box-cox变换后是否需要对数据进行缩放
- javascript - 未捕获的类型错误:无法读取未定义的属性“包含”
- node.js - Tron 智能合约 web api 不适用于 docker quickstart network
- javascript - 切换到另一个视频并连续重复
- django - 注释返回的单个元素而不是分组