Laravel 事务未读取参数

Posted

技术标签:

【中文标题】Laravel 事务未读取参数【英文标题】:Laravel Transaction Not Reading parameters 【发布时间】:2018-01-19 10:01:09 【问题描述】:

我使用 Laravel DB 事务来保护我的查询,但 DB:Transaction $request->get('remarks') 或参数中的任何内容,这是我的控制器:(我已经仔细检查了我的视图并且可能输入的名称是正确的)。

 public function store(Request $request)
 
     //dd($request->all());
     //meat Materials

     DB::transaction(function () 
         $formula = new Formula([ 
             'project'      => 'Project',
             'remarks'      => $request->get('remarks'),  
         ]);

         $current = Carbon::now();
         $current = new Carbon();

         //$user=auth()->user();
         $formula->control_number    = '1';
         $formula->prepared_by       = '1';
         $formula->date_prepared     = Carbon::now('Asia/Manila');
         $formula->time_prepared     = Carbon::now('Asia/Manila');
         $formula->status            = 'pending';

         $formula->save();
         $meat = new Meat();
         $meat->control_number    = '1';
         $meat->prepared_by       = '1';
         $meat->save();
    );

    return view('formula.test');

【问题讨论】:

How to pass parameter to Laravel DB::transaction() 【参考方案1】:

您需要将变量传递给匿名函数:

DB::transaction(function ($request) use ($request) 
    $formula = new Formula([ 
        'project'      => 'Project',
        'remarks'      => $request->get('remarks'),  
    ]);
);

【讨论】:

以上是关于Laravel 事务未读取参数的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 4 DB 事务未提交和回滚

VueJS 3 + Laravel:未捕获的类型错误:无法读取未定义的属性“组件”

jQuery.Deferred 异常:无法读取未定义的属性(读取“长度”)-> Laravel 8 Boilerplate + Bootstrap

使用数据库事务防止竞争条件 (Laravel)

无法使用 Vuetify 和 Laravel 读取未定义的属性“t”

无法读取未定义的属性“扩展”。 laravel bootstrap-vue中的安装问题