Search code examples
laraveldatatables

laravel datatables search in addColumn


I use laravel/datatables to list data.

I manipulated my datalist with addColumn function. However I am not able to use search in view for added columns. Because search is working according to database rows. Datatables works fine but in the view search area is not working. Because there isnt any fullname row in database table.

Here you can find my codes (I want to search for fullname but I can't)

Order Model

public function getFullname()
{
    return json_decode($this->getAttribute('delivery_adress'))->fullname;
}

OrderController.php

if ($request->ajax()) {
    return datatables()->of(Order::query())
        ->addColumn('fullname', function (Order $order) {
            return $order->getFullname();
        })->addColumn('city', function (Order $order) {
            return $order->getCity();
        })->addColumn('product_id', function (Order $order) {
            return $order->product->title;
        })->make(true);
}

Orders Blade / Datatables code

        "pageLength": 10,
        processing: true,
        serverSide: true,
        ajax: 'orders',
        columns: [
            { data: 'id', name: 'id'},
            { data: 'fullname', name: 'fullname', defaultContent: '-' , orderable: false },
            { data: 'city', name: 'city', defaultContent: '-', orderable: false  },
            { data: 'product_id', name: 'product_id', className: 'd-none d-sm-table-cell', defaultContent: '-' },
            { data: 'totalPrice', name: 'totalPrice', className: 'd-none d-sm-table-cell', defaultContent: '-' },
        ],

enter image description here

edit:

Finally, I found solution

{data: 'added_column', name: 'actual_column_name'}

https://github.com/yajra/laravel-datatables/issues/139#issuecomment-275326787


Solution

  • Finally, I found solution

    {data: 'added_column', name: 'actual_column_name'}
    

    https://github.com/yajra/laravel-datatables/issues/139#issuecomment-275326787