Laravel 5数据表中不区分大小写的通用过滤器

问题描述 投票:2回答:2

使用laravel 5中的数据表作为:

return Datatables::of($email_details)
                        ->filterColumn('from_name', 'from_lname', 'subject', 'date')
                        ->make(true);

我的数据是这样的:

ABC XYZ subject1 22-02-2016
abc XYZ subject1 22-02-2016
FFF XYZ subject1 22-02-2016

当我要过滤:abc时,它完全匹配。我想要两条记录:ABC,abc。

JS有变化吗?

laravel datatable
2个回答
1
投票

我有完全相同的问题,并通过调试代码找出它。

我做了什么来解决这个问题:

  • 浏览到{laravelProjectDir} \ vendor \ yajra \ laravel-datatables-oracle \ src \ config \
  • 将文件config.php复制到您的{laravelProjectDir} \ config文件夹
  • 将文件重命名为datatables.php

由于配置已经满足您的需求(case_insensitive => true),因此无需执行任何操作。在供应商文件夹中,配置似乎不起作用。

我需要解决的最后一个提示,我在这里找到:https://github.com/yajra/laravel-datatables/issues/612

编辑 - 2017年8月13日 将供应商配置文件导入项目的更优雅方法是使用相应的artisan命令: php artisan vendor:publish --tag="config"


0
投票

只需在laravel的config文件夹上创建php文件名“datatables.php”并粘贴到代码下面。它的工作。谢谢

return [

    'search'          => [

        'smart'            => true,

        'case_insensitive' => true,

        'use_wildcards'    => false,
    ],

    'fractal'         => [
        'includes'   => 'include',

        'serializer' => 'League\Fractal\Serializer\DataArraySerializer',
    ],

    'script_template' => 'datatables::script',

    'index_column'    => 'DT_Row_Index',

    'namespace'       => [

        'base'  => 'DataTables',

        'model' => '',
    ],

    'pdf_generator'   => 'excel',

    'snappy'          => [

        'options'     => [
            'no-outline'    => true,
            'margin-left'   => '0',
            'margin-right'  => '0',
            'margin-top'    => '10mm',
            'margin-bottom' => '10mm',
        ],
        'orientation' => 'landscape',
    ],
];
© www.soinside.com 2019 - 2024. All rights reserved.