为了账号安全,请及时绑定邮箱和手机立即绑定

如何从 laravel 中的另一个控制器获取信息

如何从 laravel 中的另一个控制器获取信息

PHP
湖上湖 2022-05-27 14:52:29
我想使用另一个控制器保存信息以将其存储在数据库中。在我的情况下,有两个控制器: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.

这也将使系统的测试更容易。


查看完整回答
反对 回复 2022-05-27
?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

您可以使用 app 方法在 laravel app('App\Http\Controllers\ControllerName')->functionName() 中调用另一个控制器的控制器方法;



查看完整回答
反对 回复 2022-05-27
  • 2 回答
  • 0 关注
  • 133 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信