function remove($client_id) { DB::beginTransaction(); try { //get details $client = Client::find($client_id); //change this later for multiple addresses $client_address = ClientAddress::where('ex_clients_id', $client->id)->first(); $address = Addresses::find($client_address->address_id); //phone numbers $all_client_phones = ClientPhone::where('ex_clients_id', $client->id); $client_phones = $all_client_phones->get(); $all_client_phones->delete(); /* delete data */ //delete phone numbers if (!empty($client_phones)) { foreach ($client_phones as $client_phone) { $phones = Phone::find($client_phone->phones_id)->delete(); } } //delete address $client_address->delete(); $address->delete(); //delete client $client->delete(); DB::commit(); // all good } catch (\Exception $e) { DB::rollback(); dd($e); // something went wrong } }
function dataTablePagination(Request $request, array $select = array(), $unassigned_only = false) { if (is_array($select) and count($select) < 1) { $select = "*"; } $take = $request->input('length') > 0 ? $request->input('length') : 10; $start = $request->input('start') > 0 ? $request->input('start') : 0; $search = $request->input('search'); $search = $search['value']; $order = $request->input('order'); $column_id = $order[0]['column']; $columns = $request->input('columns'); $orderColumn = $columns[$column_id]['data']; $orderdir = $order[0]['dir']; $lead = array(); $query = $this->select($select)->with('loan')->first(); if ($orderColumn != '' and $orderdir != '') { $query = $query->orderBy($orderColumn, $orderdir); } if ($search != '') { $query = $query->where('domain', 'LIKE', "%{$search}%")->orwhere('email', 'LIKE', "%{$search}%"); } if (!current_user()->isSuperAdmin) { $query = $query->where('added_by_users_id', current_user_id()); } $lead['total'] = $query->count(); $query->skip($start)->take($take); if ($unassigned_only == true) { $query = $query->where('status', 0); } $data = $query->get(); foreach ($data as $key => &$value) { $client = Client::find($value->ex_clients_id); if ($value->status == 1) { $meeting_date = ClientLeadAssign::where('ex_leads_id', $value->id)->first()->meeting_datetime; $meeting_date = format_datetime($meeting_date); } else { $meeting_date = "Not Assigned Yet <a class = 'btn btn-primary btn-xs' href =" . url('system/lead/assign', $value->id) . ">Assign Now</a>"; } $phone_number = $client->currentPhone(); $value->client = $client->given_name . " " . $client->surname; $value->preferred_name = $client->preferred_name; $value->phone_number = $phone_number; $value->loan_type = $value->loan->loan_type; $value->meeting_date = $meeting_date; $value->actual_status = $value->status; $value->amount = $value->loan->amount; $value->status = $value->status == 0 ? '<span class="label label-danger">Unassigned</span>' : '<span class="label label-success">Assigned</span>'; } $lead['data'] = $data->toArray(); $json = new \stdClass(); $json->draw = $request->input('draw') > 0 ? $request->input('draw') : 1; $json->recordsTotal = $lead['total']; $json->recordsFiltered = $lead['total']; $json->data = $lead['data']; return $json; }