【发布时间】:2020-09-10 04:41:17
【问题描述】:
我在“users.index”视图中有一个多列搜索表单。形式如下:
<form method="get" action="{{route('search')}}">
<input autocomplete="off" type="text" name="name">
<input autocomplete="off" type="text" name="role">
<select name="status">
<option disabled selected>--</option>
<option value="0">inactive</option>
<option value="1">active</option>
</select>
<button type="submit">search</button>
</form>
路线是这样的:
Route::get('/admin/users/search', 'Admin\Search\SearchUsersController@search')->name('search');
但是无论我在控制器的搜索功能中写什么,它都没有返回任何内容并将我重定向到一个空白页面! 让我们想象一下控制器是这样的:
class SearchUsersController extends Controller
{
public function search(Request $request)
{
dd($request->all());
}
}
我想知道为什么会发生这样的事情。当我将表单的方法更改为 Post 并确定两条不同的路线时,问题就解决了,但它是一个搜索表单,从逻辑上讲,应该获取该方法。
【问题讨论】:
-
您还有其他同名路线,例如
search吗?因为你的代码看起来不错。 -
不,我没有。我添加到 web.php 的唯一其他路由是 Route::resource('admin/users','Admin\UserController');
-
将同一控制器的新路由器放在资源路由上方。
标签: laravel controller routes laravel-7 search-form