各位大佬 有没有使用laravel框架的时候使用自动事务中间件的?

如果有用到, 请问有没有什么坑, 有没有比较好的开源组件可用, 或者你们是怎么写的?

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 3
颠倒的玉石

你新建一个model继承底层model。然后

file 不是更好么。哪里用到,再model里引用就好了。前提操作数据库得操作都在model里进行

3年前 评论

自动事物,你想在后台使用吧?要自动插入日志一类的吗?坑吗,新来个同事不知道有这么个东西,找个bug找一上午也找不到,他执行一个sql,然后dd打印一下,有数据,去数据库一看没数据,不方便维护。

而且除了写插件的人,基本都会忘记有这么个自动开启事物的东西,其他人写代码,如果涉及多个表的话,还会依然开启事物,关闭事物,我看见了也没说,但也没发现数据方面有什么异常,应该也没啥事,其他没发现啥坑,项目跑了四年多了。

不是很重要的东西,完全没必要开启事物,我在前台API部分没什么大用的东西,多表操作都不会去开启事物。

即使金钱方面的,也仅仅是付款相关的部分开启了事物(更改订单,用户余额),之后就关闭了,后面还会执行很多代码,报错的话会发送邮件,人工解决,而不会告诉用户付款失败(当然更改订单和用户余额失败了还是会报错回滚的)。

3年前 评论

不知道这样可不可行

class TransactionMiddleware
{
    public function handle($request, Closure $next)
    {
        try {
            DB::beginTransaction();
            $response = $next($request);
            DB::commit();
            return $response;
        } catch(\Exception $e) {
            DB::rollBack();
        }
    }
}
3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!