Hello,
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'>
<thead>
<tr>
<th>Customer</th>
</tr>
</thead>
</table>
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');
if(!empty($invoices))
{
foreach($invoices as $inv)
{
$row = array();
for($i=0; $i<count($aColumns); $i++)
{
$row[] = $inv[$aColumns[$i]];
}
$output['aaData'][] = $row;
}
}
$this->sendResponse(200,$output);
}
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: ","}
],'footer');
});
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