在Controller中调用数据库事务是一种好习惯吗? 如果没有,我应该在哪里正确调用数据库事务?
答案 0 :(得分:1)
取决于项目的规模和个人偏好。但是,在控制器之外调用数据库事务是一种更好的做法,因为它可以使您的代码清晰易懂。您还可以为多个控制器使用相同的功能,减少冗余编码的痛苦。您可以搜索SOA(面向服务的体系结构)并将其用于更好的实践。
答案 1 :(得分:0)
或者您可以搜索命令总线模式
https://github.com/tillkruss/laravel-tactician
此包使用Laravel轻松实现Command Bus模式。它带有一个数据库事务中间件,而Command Bus适用于将逻辑从控制器移动到命令处理程序的可伸缩应用程序。