I'm getting this there is no active transaction error from the below code. Can you guys help me out! What am i doing wrong here?
public function add(Request $request)
{
try {
DB::beginTransaction();
$client_id=common_info::create([
'Name' => $request->c_name,
'Pan' => $request->c_pan,
'Nature' => $request->c_nature,
'Mobile' => $request->c_phone,
'Alternate_Mobile' => $request->c_alt_phone,
]);
$client_id=$client_id->id;
if($request['dob']!=""){
$path = "";
business_details::create([
'client_id' => $client_id,
'DOB' => $request->dob,
'Line 1' => $request->address1,
'Line 2' => $request->address2,
'Line 3' => $request->address3,
'State' => $request->state,
'Pincode' => $request->pincode,
'Email' => $request->t1_email,
'GST' => $request->GST,
'CIN' => $request->CIN,
'MSME' => $request->MSME,
'IEC' => $request->IEC,
'PF' => $request->PF,
'TAN' => $request->TAN,
'ESIC' => $request->ESIC,
'MUNICIPAL' => $request->MUNICIPAL,
'OTHER' => $request->OTHER,
'GST_Document' => $this->get_path($request,'BuisnessDetails','GST_Document',$client_id),
'CIN_Document' => $this->get_path($request,'BuisnessDetails','CIN_Document',$client_id),
'MSME_Document' => $this->get_path($request,'BuisnessDetails','MSME_Document',$client_id),
'IEC_Document' => $this->get_path($request,'BuisnessDetails','IEC_Document',$client_id),
'PF_Document' => $this->get_path($request,'BuisnessDetails','PF_Document',$client_id),
'TAN_Document' => $this->get_path($request,'BuisnessDetails','TAN_Document',$client_id),
'ESIC_Document' => $this->get_path($request,'BuisnessDetails','ESIC_Document',$client_id),
'MUNICIPAL_Document' => $this->get_path($request,'BuisnessDetails','MUNICIPAL_Document',$client_id),
'OTHER_Document' => $this->get_path($request,'BuisnessDetails','OTHER_Document',$client_id),
]);
}
//Managerial_person
for ($i = 1; $i <= $request->m_count; $i++) {
if($_POST['p_firstname'.$i]!=""){
$mid=managerial_person_details::create([
'client_id'=>$client_id,
'Picture'=> $this->get_path($request,'ManagerialDetails','p_picture'.$i,$client_id),
'First Name'=>$request['p_firstname'.$i],
'Middle Name'=>$request['p_middlename'.$i],
'Last Name'=>$request['p_lastname'.$i],
'Fathers First Name'=>$request['f_firstname'.$i],
'Fathers Middle Name'=>$request['f_middlename'.$i],
'Fathers Last Name'=>$request['f_lastname'.$i],
'Line 1'=>$request['p_address1'.$i],
'Line 2'=>$request['p_address2'.$i],
'Line 3'=>$request['p_address3'.$i],
'State'=>$request['p_state'.$i],
'Pincode'=>$request['p_pincode'.$i],
'Email'=>$request['p_personemail'.$i],
'Mobile'=>$request['p_number'.$i],
'Alternate Mobile'=>$request['p_alternate_number'.$i],
'DOB'=>$request['p_dob'.$i],
'PAN'=>$request['PAN'.$i],
'PASSPORT'=>$request['PASSPORT'.$i],
'DIN'=>$request['DIN'.$i],
'AADHAR'=>$request['AADHAR'.$i],
'VOTER ID'=>$request['VOTER'.$i],
'DRIVING LICENSE'=>$request['DRIVING'.$i],
'Others'=>$request['Others'.$i],
'PAN_Document'=> $this->get_path($request,'ManagerialDetails','PAN'.$i.'_Document',$client_id),
'PASSPORT_Document'=>$this->get_path($request,'ManagerialDetails','PASSPORT'.$i.'_Document',$client_id),
'DIN_Document'=>$this->get_path($request,'ManagerialDetails','DIN'.$i.'_Document',$client_id),
'AADHAR_Document'=>$this->get_path($request,'ManagerialDetails','AADHAR'.$i.'_Document',$client_id),
'VOTER ID_Document'=>$this->get_path($request,'ManagerialDetails','VOTER ID'.$i.'_Document',$client_id),
'DRIVING LICENSE_Document'=>$this->get_path($request,'ManagerialDetails','DRIVING LICENSE'.$i.'_Document',$client_id),
'Others_Document'=>$this->get_path($request,'ManagerialDetails','Others'.$i.'_Document',$client_id),
]);
$mid=$mid->id;
$b_cnt=1;
while(isset($request[$b_cnt."_bank_name".$i])) {
if($request[$b_cnt . "_bank_name" . $i]!="" && $request[$b_cnt . "_bank_name" . $i]!=null) {
bank_details::create([
'Client_id' => $mid,
'Bank_Name' => $request[$b_cnt . "_bank_name" . $i],
'Bank_Branch' => $request[$b_cnt . "_bank_branch" . $i],
'Bank_Account_Number' => $request[$b_cnt . "_bank_account_number" . $i],
'Bank_IFSC_code' => $request[$b_cnt . "_bank_ifsc_code" . $i]
]);
}
$b_cnt++;
}
}}
for($i=1;$i<=$request->l_count;$i++){
if($request['nature_of_login'.$i]!=""){
client_login::create([
'client_id'=>$client_id,
'Nature of Login'=>$request['nature_of_login'.$i],
'Username'=>$request['user_id'.$i],
'Password'=>$request['password'.$i],
]);
}
}
for ($i=1;$i<=$request->custom_tab_count;$i++){
$count=$request[$i."custom_tab_field_count"];
$table_name = $client_id . "_" . $request[$i . "custom_tab_name"];
if($count>0) {
$res = Schema::create($table_name, function (Blueprint $table) {
$table->id();
});
$data_value = [];
for ($j = 1; $j <= $count; $j++) {
if(isset($request[$i . "custom_tab_field_name" . $j])) {
$field = $request[$i . "custom_tab_field_name" . $j];
$value = $request[$i . "custom_tab_field_answer" . $j];
DB::select("alter table " . $table_name . " add column " . $field . " varchar(120)");
$data_value[$field] = $value;
}
}
DB::table($table_name)->insert($data_value);
}
}
records::create([
"user_id"=>Auth::id(),
"Record"=>$request->c_name,
"Tab_Name"=>"Client Record",
"Field_Name"=>"",
"Old_Value"=>"",
"New_Value"=>"",
"Operation"=>"New Record Added"
]);
DB::commit();
return response(json_encode("Success"),200);
}
catch (\Exception $e){
DB::rollBack();
return response($e->getMessage(),500);
}
}