DB::connection('mysql')->rollback()
is not working in Laravel with MySQL database. I'm using two databases in our application which are mysql & pgsql.
DB::connection('pgsql')->rollback()
is working properly
Structure of code:
DB::connection($connection)->beginTransaction();
try {
$sale_id = Sale::on($connection)->insertGetId($sale_data);
if($sale_id) {
foreach($input_details as $each_detail) {
$sub_sale_id = SaleItem::on($connection)->insertGetId($insert_detail);
if(!$sub_sale_id) {
DB::connection($connection)->rollback();
return [
'status' => $response_code['error']
];
}
}
DB::connection($connection)->commit();
return [
'status' => $response_code['success']
];
} else {
DB::connection($connection)->rollback();
}
} catch (\Exception $exception) {
DB::connection($connection)->rollback();
}
return [
'status' => $response_code['error']
];