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/

相关文章:

php - 加载数据表 - 最好的选择是什么?

laravel - 更新 Composer 时出错

php - laravel 5 : Class 'input' not found

php - API 使用 Guzzle 返回 PNG 图像

javascript - 如何在服务器端处理模式下将类添加到<td>

mysql - mysql 5.6 my.cf在centos 5.2上的默认位置

php - 数据未插入数据库。不确定我做错了什么

mysql - Magnolia CMS seamingly 忽略 mysql 数据库但不使用 derby

php - CodeIgniter数据表加入搜索(json_encode数据)

mysql - 错误 1215 (HY000) : Cannot add foreign key constraint