Yajra не работает глобальный поиск данных

Глобальный поиск Yajra Datatable не работает.

Код контроллера

public function getTable() {
$query = Customer::query();
return Datatables::of($query)
->addColumn('name', function ($query) {
return "$query->name";
})
->addColumn('number', function ($query) {
return "$query->number";
})
->addColumn('category', function ($query) {
return "$query->category";
})
->addColumn('customer_fields', function ($query) {
return "asd";
})
->addColumn('address', function ($query) {
return "".customerAddressFormatHelper($query -> address, $query -> location_name)."";
})
->addColumn('created_at', function ($query) {
return "$query->created_at";
})
->addColumn('action', function ($query) {
return "<a href='".route('customers.show', $query -> id)."' class='btn btn-primary'><i class='fa fa-eye'></i> </a>";
})
->escapeColumns(['action'])
->make(true);
}

Код JS

$(document).ready(function() {
$('#customer_table').DataTable( {
dom: 'Bfrtip',
buttons: [
'print',
'copyHtml5',
'excelHtml5',
'csvHtml5',
'pdfHtml5'
],
processing: true,
serverSide: true,
ajax: '{{ route('customers.table') }}',
columns: [
{data: 'name',              name: 'name'},
{data: 'number',            name: 'number'},
{data: 'category',          name: 'category'},
{data: 'customer_fields',   name: 'customer_fields'},
{data: 'address',           name: 'address'},
{data: 'created_at',        name: 'created_at'},
{data: 'action',            name: 'action'},
]
} );
} );

Все работает правильно без ошибок или чего-либо, но проблема в том, что Глобальный поиск всегда возвращайте одинаковое количество результатов на вкладке сети.

Что я пробовал:

Я пытался заменить $query = Customer::query(); код с $query = Customer::all(); это работает отлично, и поиск работает отлично ..

Проблема после того, как я добавил all() Метод стал очень-очень медленным, потому что я использую коллекции, а не конструктор запросов.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]