1

I used Laravel DB transaction to secured my queries but DB:Transaction
$request->get('remarks') or anything from the parameter, Here is my controller: (I already double check my view and may input name is correct).

 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');
}
Cong Chen
  • 2,436
  • 12
  • 21
Martney Acha
  • 2,802
  • 4
  • 33
  • 48
  • [How to pass parameter to Laravel DB::transaction()](https://stackoverflow.com/q/17084723/6521116) – LF00 Nov 03 '17 at 14:44

1 Answers1

2

You need pass the variable to the anonymous function:

DB::transaction(function ($request) use ($request) {
    $formula = new Formula([ 
        'project'      => 'Project',
        'remarks'      => $request->get('remarks'),  
    ]);
});
Cong Chen
  • 2,436
  • 12
  • 21