The dreaded "Requested unknown parameter for row 0, column 0"
The dreaded "Requested unknown parameter for row 0, column 0"
Another hair-tearing-out problem! I cannot figure out why I am getting this error, no matter how I configure the columns. I have tried different sets of columns but the first one is always throwing up this error.
Here is my dead simple PHP:
Editor::inst( $db, 'TApplications' )
->fields(
Field::inst( 'TApplications.purpose' ),
Field::inst( 'TApplications.reqtotal')
)
->where ('TApplications.successful','No','!=')
->debug(true)
->process( $_POST )
->json();
Javascript:
var spreadsheetTable = new DataTable('#Sheet', {
ajax: 'php/table.TApplicationsSpreadsheet.php',
columns: [
{
"data": "purpose"
},
{
"data": "reqtotal", "label":"Total Requested"
}
],
dom: 'Bfrtip',
scrollY: "500px",
"paging": false,
"autoWidth": false
} );
HTML:
<h1>Applications Spreadsheet</h1>
<div class="container" style="width:90%; padding-left: 70px">
<table cellpadding="0" cellspacing="0" border="0" class="table table-striped table-bordered" id="Sheet" >
<thead>
<tr>
<th>Purpose</th>
<th>Total Requested</th>
</tr>
</thead>
</table></div>
And the data being returned looks like this:
data
:
[{DT_RowId: "row_5",…}, {DT_RowId: "row_11",…}, {DT_RowId: "row_12",…},…]
[0 … 99]
0
:
{DT_RowId: "row_5",…}
DT_RowId
:
"row_5"
TApplications
:
{purpose: "Project Worker salary + associated core costs", reqtotal: "35555.0000"}
1
:
{DT_RowId: "row_11",…}
DT_RowId
:
"row_11"
TApplications
:
{purpose: "Replace Lottery Funding for Training Co-ord", reqtotal: "26584.0000"}But I get this error message:
DataTables warning: table id=Sheet - Requested unknown parameter 'purpose' for row 0, column 0. For more information about this error, please see https://datatables.net/tn/4
Note that this happens no matter which combination of columns I try (so far at least).
So what is going wrong? Apologies if this is really obvious.
This question has an accepted answers - jump to answer
Answers
You don't have a field in the JSON called
purpose
. That parameter is nested in theTApplications
object.If you change your columns to be:
I would expect it to work.
If you aren't planning to add a join to the table, you could simply by removing the
TApplications.
from both the fields in the PHP and thedata
property in the column options for the DataTable.Allan
Thanks Allan, that sorted it. I think I've forgotten the qualifying object name before....