Laravel DataTables更改过滤器

时间:2018-10-11 08:55:00

标签: php laravel yajra-datatable

找不到解决方法,该方法如何覆盖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而不是like?

谢谢。

2 个答案:

答案 0 :(得分:0)

尚未找到正确执行此操作的方法。但是,设法使用正则表达式来解决此问题。

答案 1 :(得分:0)

我发现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