How can I debug below function.
public function store($request, $type)
{
DB::beginTransaction();
try {
$id = $request->get('id', '');
if ($id != '') {
$safety_main = Safety::where('id', $id)->findOrFail($request->id);
if($request->property_id == '' && $request->unit_id == '') {
$safety_main->expired = 1;
$safety_main->save();
$safety = new Safety();
$safety->property_id = $safety_main->property_id;
$safety->unit_id = $safety_main->unit_id;
$safety->issue_date = date( "Y-m-d", strtotime( $request->issue_date ) );
$safety->expiry_date = date( "Y-m-d", strtotime( $request->expiry_date ) );
$safety->certified_by = $request->certified_by;
$safety->remarks = $request->remarks;
$safety->governing_body = $request->governing_body;
$safety->type = $type;
$safety->ratings = $request->ratings;
$safety->save();
}
else {
$safety_main->property_id = $request->property_id;
$safety_main->unit_id = $request->unit_id;
$safety_main->issue_date = date( "Y-m-d", strtotime( $request->issue_date ) );
$safety_main->expiry_date = date( "Y-m-d", strtotime( $request->expiry_date ) );
$safety_main->certified_by = $request->certified_by;
$safety_main->remarks = $request->remarks;
$safety_main->governing_body = $request->governing_body;
$safety_main->type = $type;
$safety_main->ratings = $request->ratings;
$safety_main->save();
}
}
else {
$safety_query = Safety::where([
['property_id', '=', $request->property_id],
['unit_id', '=', $request->unit_id],
['type', '=', 'electric']
])->first();
if($safety_query){
return $this->error( [], 'Sorry! This Property already has a Electric Safety Entry' );
} else {
$safety = new Safety();
$safety->issue_date = date( "Y-m-d", strtotime( $request->issue_date ) );
$safety->expiry_date = date( "Y-m-d", strtotime( $request->expiry_date ) );
$safety->property_id = $request->property_id;
$safety->unit_id = $request->unit_id;
$safety->certified_by = $request->certified_by;
$safety->remarks = $request->remarks;
$safety->governing_body = $request->governing_body;
$safety->type = $type;
$safety->ratings = $request->ratings;
$safety->save();
}
}
/*File Manager Call upload*/
if ($request->file('file')) {
$new_file = FileManager::where('origin_type', 'App\Models\Safety')->where('origin_id', $safety->id ? $safety->id : $safety_main->id)->first();
if ($new_file) {
$new_file->removeFile();
$upload = $new_file->updateUpload($new_file->id, 'Safety', $request->file);
} else {
$new_file = new FileManager();
$upload = $new_file->upload('Safety', $request->file);
}
if ($upload['status']) {
$upload['file']->origin_id = $safety->id ? $safety->id : $safety_main->id;
$upload['file']->origin_type = "App\Models\Safety";
$upload['file']->save();
} else {
throw new Exception($upload['message']);
}
}
/*End*/
DB::commit();
$message = $request->id ? __(UPDATED_SUCCESSFULLY) : __(CREATED_SUCCESSFULLY);
return $this->success([], $message);
} catch (Exception $e) {
DB::rollBack();
$message = getErrorMessage($e, $e->getMessage());
return $this->error([], $message);
}
}