Dec 3, 2020
0
Level 2
How to edit ajax request query
Hi,
I got the required information with eloquent but I don't know how to display it in datatable.
My controller:
public function index(Request $request)
{
abort_if(Gate::denies('analysis_report_access'), Response::HTTP_FORBIDDEN, '403 Forbidden');
$user = Auth::user();
foreach ($user->roles as $role){
if ($role->title == 'Costumer'){
$analysisReports = AnalysisReport::where('related_person_id',$user->id)->get();
if ($request->ajax()) {
$query = AnalysisReport::with(['costumer', 'related_person', 'sample_name', 'approved_by', 'created_by'])->select(sprintf('%s.*', (new AnalysisReport)->table));
$table = Datatables::of($query);
$table->addColumn('placeholder', ' ');
$table->addColumn('actions', ' ');
$table->editColumn('actions', function ($row) {
$viewGate = 'analysis_report_show';
$editGate = 'analysis_report_edit';
$deleteGate = 'analysis_report_delete';
$crudRoutePart = 'analysis-reports';
return view('partials.datatablesActions', compact(
'viewGate',
'editGate',
'deleteGate',
'crudRoutePart',
'row'
));
});
$table->editColumn('id', function ($row) {
return $row->id ? $row->id : "";
});
$table->addColumn('costumer_firm_name', function ($row) {
return $row->costumer ? $row->costumer->firm_name : '';
});
$table->addColumn('related_person_name', function ($row) {
return $row->related_person ? $row->related_person->name : '';
});
$table->editColumn('report_no', function ($row) {
return $row->report_no ? $row->report_no : "";
});
$table->addColumn('sample_name_sample_name', function ($row) {
return $row->sample_name ? $row->sample_name->sample_name : '';
});
$table->editColumn('aluminum', function ($row) {
return $row->aluminum ? $row->aluminum : "";
});
$table->editColumn('antimony', function ($row) {
return $row->antimony ? $row->antimony : "";
});
$table->editColumn('barium', function ($row) {
return $row->barium ? $row->barium : "";
});
$table->editColumn('cadmium', function ($row) {
return $row->cadmium ? $row->cadmium : "";
});
$table->editColumn('calcium', function ($row) {
return $row->calcium ? $row->calcium : "";
});
$table->editColumn('chromium', function ($row) {
return $row->chromium ? $row->chromium : "";
});
$table->editColumn('copper', function ($row) {
return $row->copper ? $row->copper : "";
});
$table->editColumn('iron', function ($row) {
return $row->iron ? $row->iron : "";
});
$table->editColumn('lead', function ($row) {
return $row->lead ? $row->lead : "";
});
$table->editColumn('magnesium', function ($row) {
return $row->magnesium ? $row->magnesium : "";
});
$table->editColumn('manganese', function ($row) {
return $row->manganese ? $row->manganese : "";
});
$table->editColumn('molbydenum', function ($row) {
return $row->molbydenum ? $row->molbydenum : "";
});
$table->editColumn('nickel', function ($row) {
return $row->nickel ? $row->nickel : "";
});
$table->editColumn('potassium', function ($row) {
return $row->potassium ? $row->potassium : "";
});
$table->editColumn('silicon', function ($row) {
return $row->silicon ? $row->silicon : "";
});
$table->editColumn('sodium', function ($row) {
return $row->sodium ? $row->sodium : "";
});
$table->editColumn('strontium', function ($row) {
return $row->strontium ? $row->strontium : "";
});
$table->editColumn('zinc', function ($row) {
return $row->zinc ? $row->zinc : "";
});
$table->editColumn('bromide', function ($row) {
return $row->bromide ? $row->bromide : "";
});
$table->editColumn('chloride', function ($row) {
return $row->chloride ? $row->chloride : "";
});
$table->editColumn('nitrite', function ($row) {
return $row->nitrite ? $row->nitrite : "";
});
$table->editColumn('nitrate', function ($row) {
return $row->nitrate ? $row->nitrate : "";
});
$table->editColumn('sulfate', function ($row) {
return $row->sulfate ? $row->sulfate : "";
});
$table->editColumn('inorganic_phosphate', function ($row) {
return $row->inorganic_phosphate ? $row->inorganic_phosphate : "";
});
$table->editColumn('organic_phosphate', function ($row) {
return $row->organic_phosphate ? $row->organic_phosphate : "";
});
$table->editColumn('total_phosphate', function ($row) {
return $row->total_phosphate ? $row->total_phosphate : "";
});
$table->editColumn('m_alkalinity', function ($row) {
return $row->m_alkalinity ? $row->m_alkalinity : "";
});
$table->editColumn('p_alkalinity', function ($row) {
return $row->p_alkalinity ? $row->p_alkalinity : "";
});
$table->editColumn('ph', function ($row) {
return $row->ph ? $row->ph : "";
});
$table->editColumn('calcium_hardness', function ($row) {
return $row->calcium_hardness ? $row->calcium_hardness : "";
});
$table->editColumn('magnesium_hardness', function ($row) {
return $row->magnesium_hardness ? $row->magnesium_hardness : "";
});
$table->editColumn('total_hardness', function ($row) {
return $row->total_hardness ? $row->total_hardness : "";
});
$table->editColumn('conductivity', function ($row) {
return $row->conductivity ? $row->conductivity : "";
});
$table->editColumn('dissolved_solid', function ($row) {
return $row->dissolved_solid ? $row->dissolved_solid : "";
});
$table->editColumn('suspended_solid', function ($row) {
return $row->suspended_solid ? $row->suspended_solid : "";
});
$table->editColumn('polyamine', function ($row) {
return $row->polyamine ? $row->polyamine : "";
});
$table->editColumn('free_chlorine', function ($row) {
return $row->free_chlorine ? $row->free_chlorine : "";
});
$table->editColumn('bond_chlorine', function ($row) {
return $row->bond_chlorine ? $row->bond_chlorine : "";
});
$table->addColumn('approved_by_name', function ($row) {
return $row->approved_by ? $row->approved_by->name : '';
});
$table->rawColumns(['actions', 'placeholder', 'costumer', 'related_person', 'sample_name', 'approved_by']);
return $table->make(true);
}
}
In $analysisReports variable, I have the reports but How can I Display only these data on the datatable? Now I see all the data.
Thanks in advance
Please or to participate in this conversation.