Laravel DataTables меняют фильтры - PullRequest
0 голосов
/ 11 октября 2018

Не удалось найти решение, как переопределить поведение Laravel DataTables.У меня есть кусок кода в переднем конце:

var columnFilter = function(columnSelector, value) {
    $('.clear-filter').removeClass('active');
    clearFilter();
    table.column(columnSelector + ':name').search(value).draw();
    console.log(value);
}

Проблема здесь в том, что он дает мне запрос с «LIKE»:

 (where 'column' LIKE '%value%'.)

Есть ли способ переопределить этои использовать EQUALS вместо лайков?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 19 июня 2019

Я обнаружил, что функция filterColumn позволяет настраивать запрос.Например:

return DataTables::eloquent($model)
            ->filterColumn('columName', function($query, $keyword) {
                $sql = "columnName = ?";
                $query->whereRaw($sql, [$keyword]);
            })
            ->toJson();

Ссыл.https://github.com/yajra/laravel-datatables-docs/blob/master/filter-column.md

0 голосов
/ 11 октября 2018

Не нашли способ сделать это оперативно.Однако удалось обойти с помощью регулярных выражений.

...