mysql - 如何在 laravel 中为资源控制器添加自定义函数?
问题描述
我正在尝试为我用作 ResourceController 的 Controller 类创建一个自定义函数。我这样做是因为我只想更新 1 个字段,但我想保留现有的更新功能用于其他事情。
正如人们所说,我试图将它放在api.php中的资源之前,但仍然没有好处。
Route::put('/post/reorder/{id}', 'PostController@reorder');
Route::resource('/post', PostController::class);
这是控制器中的代码
public function reorder(Request $request, $id){
$post = Post::findOrfail($id);
...
此外,在运行php artisan route:list时,它会显示此错误。
Illuminate\Contracts\Container\BindingResolutionException
Target class [PostController] does not exist.
这是VUE中调用它的代码
export const API_URL = "http://localhost:8000/api/post";
axios
.put(API_URL + `/reorder/${item.id}`, {
// title: item.title,
// path: item.path,
// description: item.description,
order: newIndex,
})
当我运行它时,它给出了内部服务器错误 500
当我使用资源给我的默认功能时,它可以工作,我只是不想输入我不想更改的字段。
那么我做错了什么?
解决方案
我认为您正在使用 laravel8 并且您的路线不正确
尝试这个:
Route::put('/post/reorder/{id}', [PostController::class, 'reorder']);
推荐阅读
- wordpress - Wordpress 子域 URL
- c# - EF Core Db First - 根据架构名称过滤掉表
- php - imap_open():无法打开流 {mail.icolauncher.io:993/imap/ssl} 证书失败
- javascript - How to add TextToSpeech.talk("hi') action to a button
- mysql - 将测试 MySQL 数据库与生产同步(均在线)
- javascript - SVG 在 Internet Explorer 中不可用
- asterisk - 如何配置 kamailio 以在未注册的情况下转接呼叫并替换到标头
- java - UnrecognizedPropertyException when using Jackson, @JsonIdentityInfo and @JsonDeserialize with a lombok Builder
- reactjs - 如何在另一个项目中使用反应应用程序(例如 Facebook Messenger)?
- swift - Why does Firestore sometimes not return anything, no error, nothing?