0

找不到如何覆盖 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?

谢谢你。

4

2 回答 2

1

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

于 2019-06-19T19:48:05.110 回答
0

还没有找到正确的方法。但是,设法使用正则表达式进行解决。

于 2018-10-11T12:20:21.360 回答