首页 > 解决方案 > 背包管理员 CRUD 中的“参数太少”错误

问题描述

我已经使用我的 laravel 项目配置了背包管理员,并且在集成后,每当我想编辑、删除或预览记录时,我都会遇到以下错误,但是,我可以看到列表并创建新记录。

Too few arguments to function App\Http\Controllers\Admin\DepartmentCrudController::show(), 0 passed in /Users/meysam/Documents/projects/ttm-ppm/vendor/laravel/framework/src/Illuminate/Routing/Controller.php on line 54 and exactly 1 expected

这是我的背包路由(custom.php):

Route::group([
    'prefix'     => config('backpack.base.route_prefix', 'admin'),
    'middleware' => array_merge(
        (array) config('backpack.base.web_middleware', 'web'),
        (array) config('backpack.base.middleware_key', 'admin')
    ),
    'namespace'  => 'App\Http\Controllers\Admin',
], function () { // custom admin routes

   Route::crud('department', 'DepartmentCrudController');

}); // this should be the absolute last line of this file

这是我的 web.php

Auth::routes();
Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home');

Route::middleware([UserPannel::class])->group(function(){
....


});

Route::middleware([AdminPannel::class])->group(function(){

....

});

更新:

<?php

namespace App\Http\Controllers\Admin;
class DepartmentCrudController extends CrudController
{
    use \Backpack\CRUD\app\Http\Controllers\Operations\ListOperation;
    use \Backpack\CRUD\app\Http\Controllers\Operations\CreateOperation;
    use \Backpack\CRUD\app\Http\Controllers\Operations\UpdateOperation;
    use \Backpack\CRUD\app\Http\Controllers\Operations\DeleteOperation;
    use \Backpack\CRUD\app\Http\Controllers\Operations\ShowOperation;


    public function setup()
    {
        if(trim(strtoupper(Auth::user()->role)) != trim(strtoupper(config('enums.roles.manager'))))
            throw new HttpResponseException(redirect(backpack_url('dashboard')));
        CRUD::setModel(Department::class);
        CRUD::setRoute(config('backpack.base.route_prefix') . '/department');
        CRUD::setEntityNameStrings('department', 'departments');
    }


    protected function setupListOperation()
    {
        CRUD::setFromDb(); // columns
    }

    protected function setupCreateOperation()
    {
        CRUD::setValidation(DepartmentRequest::class);

        CRUD::setFromDb(); // fields


    protected function setupUpdateOperation()
    {
        $this->setupCreateOperation();
    }
}

标签: phplaravellaravel-backpack

解决方案


推荐阅读