Yajra 数据表搜索不适用于修改后的列

问题描述 投票:0回答:1

我在 Laravel 中使用 Yajra DataTables,并且遇到了修改列 (HAWB) 的搜索功能问题。我已修改 HAWB 列定义以显示可单击的链接,但搜索实际的 HAWB 值不起作用。

return DataTables::of($data)
    ->addIndexColumn()
    ->addColumn('HAWB', function ($row) {
        $url = route('shipment_tracking') . "?trknbr=" . $row->HAWB;
        return "<a href='$url' target='_blank'>$row->HAWB</a>";
    })
    ->rawColumns(['HAWB'])
    ->make(true);

` $('#airwaybill-tracking').DataTable({ 页长:10, 处理:真实, 服务器端:正确,

    ajax: route.admin_dashboard,
    columns: [,
        {
            data: 'HAWB',
            name: 'HAWB',
            className: 'text-sm',
        },
     ]`
});

我正在使用 Laravel 和 Yajra DataTables 包 我正在使用服务器端处理

我尝试过的:

我已经验证了路线('shipment_tracking')的路线配置。 我使用控制台日志来检查搜索词和生成的 URL。 我尝试暂时禁用其他列定义以隔离冲突。

预期行为: 即使该列显示链接,用户也应该能够搜索 HAWB 编号。

实际行为: HAWB 列的搜索似乎无法正常工作。

laravel datatable server-side yajra-datatable
1个回答
0
投票

更换您的控制器代码:

return DataTables::of($data)
    ->addIndexColumn()
    ->editColumn('HAWB', function ($row) {
        $url = route('shipment_tracking') . "?trknbr=" . $row->HAWB;
        return "<a href='$url' target='_blank'>$row->HAWB</a>";
    })
    ->rawColumns(['HAWB'])
    ->make(true);

然后,尽管

addColumn
使用
editColumn
那么您也将能够搜索该字段

© www.soinside.com 2019 - 2024. All rights reserved.