php - 我在使用 laravel8 添加新回复时遇到问题
问题描述
在提问之前,这是我的代码
Show.blade.php
@foreach ($comments as $comment)
@if ($comment->post_id == $post->id)
.....
<form action="{{ route('createreply', ['rid' => $comment->id]) }}" method="POST">
@csrf
<input type="text" class="form-control" name="replyContent" id="replyContent" style="color:white" />
<button type=" submit" style=" color :lavender " class="btn btn-secondary">comment</button>
</form>
....
@endif
@endforeach
(((评论为原创评论,我回复评论的答案))
web.php(路由)
Route::post('/replycreate', [CommentController::class, 'createReply'])->name('createreply');
我的控制器(评论)
public function createReply(Request $request, $rid)
{
$reply = new Reply();
$reply->replyContent = $request->replyContent;
$reply->user_name = Auth::user()->name;
$reply->comment_id = $rid;
dd($reply);
$reply->save();
return redirect()->back();
}
我在重新回复时遇到问题,我的代码返回错误,它说
函数 App\Http\Controllers\CommentController::createReply() 的参数太少,1 在第 54 行的 C:\Users\ALSACE\post-app\vendor\laravel\framework\src\Illuminate\Routing\Controller.php 中传递正好 2 预期
我坚持我使用了两个参数,但是发生了这种错误。
所以我坚持使用dd($reply)
,
dd()
甚至无法完成。
你可以猜到$rid
是空的..但同样Show.blade.php
,我用过$comment
没有问题,所以我认为我不会有问题。
请帮助新的 Laravel 学生!
解决方案
您的createReply
方法需要 2 个参数,但您的路线中没有变量。您必须将路线更改为:
Route::post('/replycreate/{rid}', [CommentController::class, 'createReply'])->name('createreply');
推荐阅读
- r - 使用 R 中的第二个数据框按两列过滤大型数据框
- reactjs - 条件渲染 if else 道具
- asp.net-core - Swagger UI 显示 camelCase 参数而不是 PascalCase
- wso2 - WSO2 错误 I/O 错误:已建立的连接被主机中的软件中止
- python - 如何将文本字符串读入 urllib 数据参数?
- dependencies - Umbraco 将 8.1.2 升级到 8.6.1 未解决的依赖关系
- tensorflow - TensorFlow Lite 应用程序
- python - 使用 KV 文件时更改 Kivy 的 python 部分中的窗口
- android - 如何隐藏状态栏项目android
- php - 访问 PHP 数组中的元素