在 Laravel 的存储库模式中初始化 DB:transaction

Initialise DB:transaction in Repository Pattern for Laravel

是否可以将 DB:transaction 初始化为存储库模式。据我所探索,找不到任何可能的方法来初始化存储库方法。请帮忙解决这个问题。

过程是一样的。让我分享代码用于演示目的。你可以这样试试

      $this->model->title = $data['title_english'];        
      $this->model->slug = $data['slug'];

       $product = $this->model;

        try{
            DB::transaction(function() use ($product, $data) {
                $product->save();

                if(!empty($data['category'])){
                    foreach ($data['category'] as $category){
                        $product->categories()->attach($category);
                    }
                    unset($category);
                }
            });

            DB::commit();
        }catch(\Exception $e){
            DB::rollback();
        }