Я хочу знать, как использовать запрос транзакции для отката, если мои запросы содержат ошибки, и зафиксировать, если нет. У меня есть запросы, которые используют foreach
причина наличия нескольких данных. вот что я пытаюсь.
DB::transaction(function(){
$receiving = New Table1;
$receiving->created_on = \Carbon\Carbon::now();
$receiving->created_by = Auth::user()->id;
$receiving->received_on = \Carbon\Carbon::parse($request->DateAcquired);
$receiving->received_by = Auth::user()->id;
$receiving->checked_on = \Carbon\Carbon::now();
$receiving->checked_by = Auth::user()->id;
$receiving->remark = $request->Remarks;
$receiving->save();
foreach ($request->data as $data)
{
$asset = New Table2;
$asset->category = $data[0];
/*$asset->asset_number = $data[1];*/
$asset->name = $data[2];
$asset->brand = $data[3];
$asset->model = $data[4];
$asset->ownership_type = $data[5];
$asset->serial_number = $data[6];
$asset->mac_address = $data[7];
$asset->cpu = $data[8];
$asset->memory = $data[9];
$asset->hard_disk = $data[10];
$asset->os = $data[11];
$asset->remark = $data[12];
$asset->description = $data[13];
$asset->date_acquired = \Carbon\Carbon::parse($request->DateAcquired);
$asset->receiving_id = $receiving->id;
$asset->save();
}
});
Я также пытался использовать DB::beginTransaction();
но я получаю ошибку
неопределенная функция beginTransaction () в построителе запросов.