DataTable with ajax


I am new to Yii and need some help.

I am using Yii2.

I have a page where I use DataTable trying to populate it with ajax from the database.

The data returned from the controller does not display in the table.

I installed the DataTable extension.

I installed yadcf

My html:

<table class="table table-bordered" id='invoicesTbl'>







My ajax controller has this function:

public function actionGetinvoices() {

        $company_id = isset($this->dataBody['company_id'])?$this->dataBody['company_id']:null;


        if ($company_id === null) 

            $this->sendResponse(501,array('error'=>'Invalid company found'));


        $output = array();

        $output['aaData'] = '';

        $invoices = InvoiceDiscountReport::getInvoices($company_id);

        $aColumns = array('invoice_discount_report__debtor__name');



            foreach($invoices as $inv)


                $row = array();

                for($i=0; $i<count($aColumns); $i++)


                        $row[] = $inv[$aColumns[$i]];


                $output['aaData'][] = $row;






My js file has this code:

var myTable = $('#invoicesTbl').DataTable({

        retrieve: true,

        paging: false,

        "language": {

            "emptyTable": "There are no invoices for the company",

        "bProcessing": true,

        "bDestroy": true,

        "sAjaxSource": '/api/dashboard/getinvoices&company_id=49',

        "bAutoWidth": true,

        "aaSorting": [[ 0, "asc" ]],

        "aoColumns": [

            { "bSortable": true, "sWidth": "100%" },




yadcf.init(myTable, [

    {column_number : 0, filter_type: "text", text_data_delimiter: ","}



The data returned from my controller looks like this:

{"aaData":[["SIGAL ZAHAVI"]]}

What I get is an empty table with: There are no invoices for the company.

Can someone please help me and tell what am I doing wrong?

Thank you

“sAjaxSource”: ‘/api/dashboard/get-invoices&company_id=49’,