我为 API 控制器获得了新功能,但目前无法使用

I got new function for API Controller and it's not working at this

我为 category 编码了 update 状态。我在 API 中获得了一个新功能 控制器,所以当我点击提交时它不起作用。

当我移动到 category.update 时,这个问题就解决了,但我不能,因为该功能用于其他用途。

web.php

Route::patch('category/{$category}', 'Admin\CategoryController@change')
    ->name('category.change');
Route::resource('category', 'Admin\CategoryController')
    ->middleware('loggedin');

这是 API 控制器的新功能:

public function change($category, Request $request)
{
    $cate = Category::find($category);
    if ($cate->category_status == 0) {
        $cate->category_status = 1;
        $cate->save();
    } else {
        $cate->category_status = 0;
        $cate->save();
    }

    return back()->with('success', 'Success!');
}

list.blade.php

<form autocomplete="off" action="{{ route('category.change', [$cate->category_id]) }}" method="POST" enctype="multipart/form-data">
    @method('PATCH')
    @csrf
    <button class="fa fa-eye" type="submit"></button>
</form>

首先,在路由中,删除$

Route::patch('category/{category}', 'Admin\CategoryController@change')
   ->name('category.change');

第二 - 使用带命名参数的路由

route('category.change', ['category' => $cate->category_id])

第三 - 在控制器操作中请求必须是第一个

public function change(Request $request, $category){}