我想使用另一个控制器保存信息以将其存储在数据库中。在我的情况下,有两个控制器:PostingsController评论控制器我可以使用 CommentsController 为评论创建创建函数,但我无法从 CommentsController 将 post_id 保存在数据库中。我想使用 PostingsController 保存 post_id,因为它具有://if user did not fill the form properly //error messages will popup $this->validate($request, [ 'comment' => 'required', ]); //if user filled the form properly //store the form $comment = new Comment(); //for connecting both user and comment $comment->user_id = Auth::id(); //to store comment $comment->post_id = //I want to save post_id from PostingsController //to store comment $comment->comment = $request->input('comment'); //save all user input $comment->save(); dd($comment);我设置了 $comment = Posting::id();,但它不起作用。错误是:BadMethodCallExceptionCall to undefined method App\Models\Posting::id()
2 回答
慕桂英4014372
TA贡献1871条经验 获得超13个赞
遵循关注点分离的原则,您可以将逻辑移动到另一个模块中,例如服务。
我建议添加一个新文件夹app/services
并为每个需要实现的逻辑添加一个服务类,例如。app/services/AddCommentToPostService.php
.
这也将使系统的测试更容易。
阿波罗的战车
TA贡献1862条经验 获得超6个赞
您可以使用 app 方法在 laravel app('App\Http\Controllers\ControllerName')->functionName() 中调用另一个控制器的控制器方法;
- 2 回答
- 0 关注
- 133 浏览
添加回答
举报
0/150
提交
取消