【问题标题】:How to use DB indexes with Datatables and yajra/laravel-datatables如何将数据库索引与 Datatables 和 yajra/laravel-datatables 一起使用
【发布时间】:2016-10-05 15:03:05
【问题描述】:

到目前为止,当我尝试列过滤时,我可以使用 LIKE 或 REGEXP,但它们都在使用表索引,考虑到我需要过滤的数据量,这是一个很大的问题。

有没有办法使用索引获得完全匹配? (数据库索引)

我正在使用: https://github.com/yajra/laravel-datatables v6.11.3 和 https://datatables.netv1.10.10

【问题讨论】:

  • 谢谢,但这是不同的,我的问题是关于数据表的。我想使用 yajra/laravel-datatables 实现的是使用精确匹配而不是像“%search%”或 REGEXP 那样按列搜索。我的目标是使用我的表索引来避免全表扫描。

标签: mysql datatables laravel-5.1


【解决方案1】:

使用 datatables laravel 包,您可以使用“filterColumn”功能在查找功能中自定义 laravel 端的参数搜索。像这样:

    return Datatables::of($users)
        ->filterColumn('user_id', function($query, $keyword) {
            $query->whereRaw("CONCAT(users.id,'-',users.id) like ?", ["%{$keyword}%"]);
        })
        ->make(true);

在Documentation中查看更多信息

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-04
    • 2019-03-08
    • 2018-03-23
    • 2016-03-07
    • 2019-03-02
    • 1970-01-01
    • 2016-03-26
    • 1970-01-01
    相关资源
    最近更新 更多