我在 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 列的搜索似乎无法正常工作。
更换您的控制器代码:
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
那么您也将能够搜索该字段