mysql - 如何将数据库索引与数据表和 yajra/laravel-datatables 一起使用

标签 mysql datatables laravel-5.1

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

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

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

最佳答案

使用 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

关于mysql - 如何将数据库索引与数据表和 yajra/laravel-datatables 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37650074/

相关文章:

MySQL LEFT JOIN 在连接表上使用 MAX 和 GROUP BY?

mysql - 如何用express-session实现session?

datatables - jQuery DataTables - 使用 jQuery 对象替换/更新行。或者 fnUpdate

javascript - jQuery DataTables 重复项最初正在加载

php - 通过在电子邮件而不是短信中发送代码来确保帐户安全 : Laravel 5. 2

mysql - Azure 尝试创建 MySQL 数据库时失败

java - 从java中查找sql​​和mysql和pgsql中最后一个查询的执行时间

javascript - 在 JSON 驱动的 jQuery 数据表中转义标记?

php - 使用迁移向表添加触发器 - Laravel 5.1

javascript - 使用 CKeditor 上传文件