Laratables супер расширенный поиск не работает - PullRequest
0 голосов
/ 24 февраля 2020

Я пытаюсь выполнить расширенный поиск, используя laratables. Тем не менее, это не похоже на работу ...

У меня есть 15K + строк, которые необходимо загрузить, и поиск в реальном времени, который фильтрует по столбцу.

Пример:

preview

У меня есть метод контроллера, который вызывается с URL и возвращает Laratables::recordsOf(Customer::class). Теперь у меня есть следующий код в моем интерфейсе (js);

$('#m_table_1 thead tr').clone(true).appendTo('#m_table_1 thead');
$('#m_table_1 thead tr:eq(1) th').not(":last").each(function(i) {
    let title = $(this).text();
    $(this).parent().removeClass('sorting')
    $(this).html('<input type="text" class="form-control" placeholder="Zoeken op '+title+'" />');
});

$('#m_table_1').DataTable({
    ajax: '/customers/ajax/get',
    iDisplayLength: 50,
    destroy: true,
    paging: true,
    serverSide: true,
    columns: [
        {name: 'name'},
        {name: 'customerType.name'},
        {name: 'address'},
        {name: 'zipcode'},
        {name: 'city'},
        {name: 'vatnumber'},
        {name: 'action', orderable: false, searchable: false},
    ]
});

Однако поиск не работает вообще ... Когда я просто нажимаю на вход, порядок переворачивается, даже если я удалил класс поиска, он (я думаю) каким-то образом снова присоединяется к заголовку.

В моей модели Customer у меня есть следующий фильтр:

public static function laratablesSearchName($query, $searchValue)
{
    return $query->orWhere('name', 'like', '%'. $searchValue. '%')
        ->orWhere('address', 'like', '%'. $searchValue. '%')
        ->orWhere('zipcode', 'like', '%'. $searchValue. '%')
        ->orWhere('country', 'like', '%'. $searchValue. '%')
        ->orWhere('vatnumber', 'like', '%'. $searchValue. '%')
        ;
}

Но я не думаю, что это много значит ...

Кто-то, кто может мне помочь с этим?

Цель:

Загрузить большой набор данных как можно быстрее и проведите оперативный поиск внутри набора данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...