初始化DB:Laravel的存储库模式中的事务

时间:2018-08-13 05:22:02

标签: laravel repository-pattern

无论如何,都有将DB:transaction初始化为存储库模式的信息。据我所探索,在存储库方法中找不到任何可能的初始化方法。请帮助解决此问题。

1 个答案:

答案 0 :(得分:1)

过程相同。让我共享用于演示目的的代码。您可以尝试这种方式。

      $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();
        }