You have not lived today until you have done something for someone who can never repay you. - John Bunyan
Id | Name | Created At | Updated At |
---|
public function getCustomFilter()
{
return view('datatables.collection.custom-filter');
}
public function getCustomFilterData(Request $request)
{
$users = User::select(['id', 'name', 'email', 'created_at', 'updated_at'])->get();
return Datatables::of($users)
->filter(function ($instance) use ($request) {
if ($request->has('name')) {
$instance->collection = $instance->collection->filter(function ($row) use ($request) {
return Str::contains($row['name'], $request->get('name')) ? true : false;
});
}
if ($request->has('email')) {
$instance->collection = $instance->collection->filter(function ($row) use ($request) {
return Str::contains($row['email'], $request->get('email')) ? true : false;
});
}
})
->make(true);
}
var oTable = $('#users-table').DataTable({
dom: "<'row'<'col-xs-12'<'col-xs-6'l><'col-xs-6'p>>r>"+
"<'row'<'col-xs-12't>>"+
"<'row'<'col-xs-12'<'col-xs-6'i><'col-xs-6'p>>>",
processing: true,
serverSide: true,
ajax: {
url: 'https://yajratables.tuecus.com/collection/custom-filter-data',
data: function (d) {
d.name = $('input[name=name]').val();
d.email = $('input[name=email]').val();
}
},
columns: [
{data: 'id', name: 'id'},
{data: 'name', name: 'name'},
{data: 'email', name: 'email'},
{data: 'created_at', name: 'created_at'},
{data: 'updated_at', name: 'updated_at'}
]
});
$('#search-form').on('submit', function(e) {
oTable.draw();
e.preventDefault();
});