Laravel Yajra Datatable Duplicating Data When page number change

Viewed 26

Laravel Yajra DataTable Duplicating Data when changing the page number.

page 01 data response

page 02 data response

Some data will appear on all pages (duplicate) ..for example, id 513.

if ($request->ajax()) {


            $data = Lead::with('getSource', 'getPreferredProject', 'tasks')
                            ->where('is_verified', 1)
                            ->whereNull('attended_by')
                            ->whereNull('leads_maker_status')
                            ->where(function ($q) {
                                $q->where('lead_stage_id','!=',6)->orWhereNull('lead_stage_id'); 
                            })                   
            ->orderBy('verified_at', 'DESC');

            return DataTables::of($data)
            ->addIndexColumn()

            ->editColumn('lead_date', function ($data) {
                return $data->lead_date != '0000-00-00' ?date('d-m-Y', strtotime($data->lead_date)) : '';
            })
            ->editColumn('verified_at', function ($data) {
                return $data->verified_at != '0000-00-00' ? date('d-m-Y', strtotime($data->verified_at)) : '';
            })
          
               ->rawColumns(['lead_date','verified_at'])
                
                 ->make(true);
        }

Request Function

 function getLeadsMakerData() {
            $('#leadsMakerTable').DataTable({
                processing: true,
                serverSide: true,
                pageLength: 10,
                paging: true,
                responsive: true,
                scrollX: false,

                ajax: {
                    url: "{{ route('leads-maker.index') }}",
                },
                columns: [
                    {
                        data: 'DT_RowIndex',
                        name: 'DT_RowIndex',
                        orderable: false,
                        searchable: false
                    },
                    {
                        data: 'enquirer_name',
                        name: 'enquirer_name'
                    },
                    {
                        data: 'lead_date',
                        name: 'lead_date'
                    },
                    {
                        data: 'verified_at',
                        name: 'verified_at'
                    },
                    {
                        data: 'mobile',
                        name: 'mobile'
                    },
                    {
                        data: 'email',
                        name: 'email'
                    },
                    {
                        data: 'source',
                        name: 'source'
                    },
                    {
                        data: 'preferred_project',
                        name: 'preferred_project'
                    },
                    {
                        data: 'action',
                        name: 'action',
                        searchable: false,
                        orderable: false,
                    },
                ],
                "drawCallback": function (settings) {
                    $('.dropdown-trigger').dropdown();
                },
                lengthMenu: [5, 10, 25, 50, 75, 100]
            });
        }

this is the source code I am using to send the request

and I am calling this method inside $( document ).ready().

0 Answers
Related