Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

lilo's avatar
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

0 likes
0 replies

Please or to participate in this conversation.