Reputation: 631
Actual Result
Using Yajra datatable when I search for data (column having comma separated values) using global search it doesn't work and shows as empty result for permission column
Expected Result
https://datatables.net/extensions/searchpanes/examples/advanced/renderSearchArrays.html
searching works fine for comma seperated value in Jquery datatable however same behaviour is not working with Yajra datatable
What have you done:-
Implemented same behaviour in Yajra Datatable present in the link of Expected Result
code working in Jquery datatable
render: {
_: '[, ].name',
sp: '[].name'
},
code not working in Yajra datatable
->render([
'_' => '[, ].name',
'sp' => '[].name',
])
result in Undefined array key 0
done some research and found similar github issue not working
my project composer.json "yajra/laravel-datatables-oracle": "^10.0"
permission is fetched using this code (not sure do we really need use addColumn for permissions?)
->addColumn('permissions', function ($user) {
return implode(',', $user->permissions->pluck('name')->toArray());
})
Can anyone suggest how to achieve working global search for multi value single column?
Upvotes: 0
Views: 352
Reputation: 631
Finally after struggling for few days I was able to figure it out using Yajra Datatables
->addColumn('role', function (User $user) {
return implode(', ', $user->getRoleNames()->toArray());
})
->filterColumn('role', function ($query, $keyword) {
$query->whereHas('roles', function ($q) use ($keyword) {
$q->whereRaw("roles.name like ?", ["%$keyword%"]);
});
})
Upvotes: 0