I’m using Yajra\DataTables in Laravel for tabular data display. For regular database columns, the search functionality works perfectly, but when it comes to custom columns that don’t exist in the database or columns built from multiple database fields the search does not work. How can I enable search for these custom or composite columns in Laravel Yajra\DataTables?
$('#vehicles_table').DataTable({
processing: true,
serverSide: true,
"ajax": '/vehicles',
columns: [
{ data: 'customer', name: 'customer' },
{ data: 'vehicle_number', name: 'vehicle_number' },
{ data: 'model_name', name: 'vehicle_models.model_name' }
]
});
Here the customer
does not exist in the database. It is created from 2 columns customer_name
and customer_id
->addColumn('customer', function($row){
if ( empty($row->customer_id) ) return $row->customer_name;
else return $row->customer_name . ' (' . $row->customer_id . ')';
})
It loads the DataTable but when I search it gives an error. How do I solve this problem?