Laravel 5.6-404,尽管路线已定义

Laravel 5.6-404,尽管路线已定义,laravel,laravel-5,Laravel,Laravel 5,试图访问admin/users/multidel,这给了我一个404错误 Chrome console.log: DELETE http://****.test/admin/users/multidel 404 (Not Found) web.php Route::group(['middleware'=>'admin'], function(){ Route::get('/admin', 'AdminController@index')->name('admin.home

试图访问admin/users/multidel,这给了我一个404错误

Chrome console.log:

DELETE http://****.test/admin/users/multidel 404 (Not Found)
web.php

Route::group(['middleware'=>'admin'], function(){
    Route::get('/admin', 'AdminController@index')->name('admin.home');;

    Route::delete('admin/users/multidel', 'AdminUsersController@multiDel')->name('users.multidel');
    Route::resource('admin/users', 'AdminUsersController');
});
php artisan路由:列表

+--------+-----------+-------------------------+------------------+------------------------------------------------------------------------+--------------+
| Domain | Method    | URI                     | Name             | Action                                                                 | Middleware   |
+--------+-----------+-------------------------+------------------+------------------------------------------------------------------------+--------------+
|        | GET|HEAD  | /                       |                  | App\Http\Controllers\HomeController@index                              | web,auth     |
|        | GET|HEAD  | admin                   | admin.home       | App\Http\Controllers\AdminController@index                             | web,admin    |
|        | POST      | admin/users             | users.store      | App\Http\Controllers\AdminUsersController@store                        | web,admin    |
|        | GET|HEAD  | admin/users             | users.index      | App\Http\Controllers\AdminUsersController@index                        | web,admin    |
|        | GET|HEAD  | admin/users/create      | users.create     | App\Http\Controllers\AdminUsersController@create                       | web,admin    |
|        | DELETE    | admin/users/multidel    | users.multidel   | App\Http\Controllers\AdminUsersController@multiDel                     | web,admin    |
|        | PUT|PATCH | admin/users/{user}      | users.update     | App\Http\Controllers\AdminUsersController@update                       | web,admin    |
|        | GET|HEAD  | admin/users/{user}      | users.show       | App\Http\Controllers\AdminUsersController@show                         | web,admin    |
|        | DELETE    | admin/users/{user}      | users.destroy    | App\Http\Controllers\AdminUsersController@destroy                      | web,admin    |
|        | GET|HEAD  | admin/users/{user}/edit | users.edit       | App\Http\Controllers\AdminUsersController@edit                         | web,admin    |
|        | GET|HEAD  | api/user                |                  | Closure                                                                | api,auth:api |
|        | GET|HEAD  | home                    | home             | App\Http\Controllers\HomeController@index                              | web,auth     |
|        | GET|HEAD  | login                   | login            | App\Http\Controllers\Auth\LoginController@showLoginForm                | web,guest    |
|        | POST      | login                   |                  | App\Http\Controllers\Auth\LoginController@login                        | web,guest    |
|        | POST      | logout                  | logout           | App\Http\Controllers\Auth\LoginController@logout                       | web          |
|        | POST      | password/email          | password.email   | App\Http\Controllers\Auth\ForgotPasswordController@sendResetLinkEmail  | web,guest    |
|        | POST      | password/reset          |                  | App\Http\Controllers\Auth\ResetPasswordController@reset                | web,guest    |
|        | GET|HEAD  | password/reset          | password.request | App\Http\Controllers\Auth\ForgotPasswordController@showLinkRequestForm | web,guest    |
|        | GET|HEAD  | password/reset/{token}  | password.reset   | App\Http\Controllers\Auth\ResetPasswordController@showResetForm        | web,guest    |
|        | POST      | register                |                  | App\Http\Controllers\Auth\RegisterController@register                  | web,guest    |
|        | GET|HEAD  | register                | register         | App\Http\Controllers\Auth\RegisterController@showRegistrationForm      | web,guest    |
+--------+-----------+-------------------------+------------------+------------------------------------------------------------------------+--------------+
我在web.php中定义了它,它位于资源(用户)之上,因此应该优先于“用户”资源中的任何其他路由。 我错过了什么

//编辑

查看代码:

                                            <li class="m-nav__item">
                                                <a href="{{route('users.multidel')}}" data-method="delete" class="m-nav__link" id="multi-delete">
                                                    <i class="m-nav__link-icon la la-trash-o"></i>
                                                    <span class="m-nav__link-text">
                                                        Multi-Delete
                                                    </span>
                                                </a>
                                            </li>

将其添加到资源后面

Route::group(['middleware'=>'admin'], function(){
    Route::get('/admin', 'AdminController@index')->name('admin.home');;

    Route::resource('admin/users', 'AdminUsersController');
    Route::delete('admin/users/multidel', 'AdminUsersController@multiDel')->name('users.multidel');
});

我将delete路由放回资源路由之上,并在这一过程中明显更改了其他内容,因为现在它不再是404错误,而是500错误

"message": "Too few arguments to function App\\Http\\Controllers\\AdminUsersController::multiDel(), 0 passed and exactly 1 expected",
<>这是一个完全不同的问题,所以我认为原来的查询已经解决了。 我想我改变的是函数定义:

public function multiDel($request)
这是…multiDel(Request$Request)在一个阶段-我把它放回到那个阶段,然后看到404回来了。进一步调查显示:

message": "No query results for model [App\\User].",
这表明$request数据有问题。奇怪的是,它在加载页面时抛出404,但有一个错误。
希望这对将来的人有所帮助…

其他管理员/用户资源终结点按预期工作?是的,它们确实工作…
admin/users/multidel
是一种
DELETE
方法,只有在输入值为
DELETE
\u method
传递表单请求时才能访问。或者将路由从
route::delete()
更改为
route::get()
。我将该方法作为delete传递:“type:$this.data('method'),”-与我的单实体销毁方法配合得很好。根据上面的my console.log详细信息,删除前缀表示正在使用正确的方法。
public function multiDel($request)
message": "No query results for model [App\\User].",