Uncaught Error: Class 'Options' not found
Uncaught Error: Class 'Options' not found
this is my code:
<?php
/*
* Editor server script for DB table pOrder
* Created by http://editor.datatables.net/generator
*/
$loggedid="";
if ( isset($_POST['loggedid']) ) $loggedid=$_POST['loggedid'];
// DataTables PHP library and database connection
include( "../lib/DataTables.php" );
// Alias Editor classes so they are easy to use
use
DataTables\Editor,
DataTables\Editor\Field,
DataTables\Editor\Format,
DataTables\Editor\Mjoin,
DataTables\Editor\Upload,
DataTables\Editor\Validate;
// The following statement can be removed after the first run (i.e. the database
// table has been created). It is a good idea to do this to help improve
// performance.
$db->sql( "CREATE TABLE IF NOT EXISTS `pOrder` (
`id` int(10) NOT NULL auto_increment,
`fcar` numeric(9,2),
`pdate` date,
`pvalue` numeric(9,2),
PRIMARY KEY( `id` )
);" );
// Build our Editor instance and process the data coming from _POST
Editor::inst( $db, 'pOrder' )
->field(
// Field::inst( 'pOrder.fcar' )
// ->options( Options::inst()
// ->table( 'tblaCars' )
// ->value( 'id' )
// ->label( 'pCar' )
// ->where( function ($q) {
// $q->where( 'tblaCars.loggedid', $loggedid, '=' );
// })
// ->validator( 'Validate::dbValues' )
// ),
Field::inst( 'pOrder.fcar' )
->options( Options::inst()
->table( 'tblaCars' )
->value( 'id' )
->label( 'pCar' )
)
->validator( 'Validate::dbValues' ),
Field::inst( 'tblaCars.pCar' ),
Field::inst( 'tblaCars.pName' ),
Field::inst( 'tblaCars.loggedid' ),
Field::inst( 'pOrder.pdate' )
->validator( 'Validate::dateFormat', array( 'format'=>'d/m/y' ) )
->getFormatter( 'Format::date_sql_to_format', 'd/m/y' )
->setFormatter( 'Format::date_format_to_sql', 'd/m/y' ),
Field::inst( 'pOrder.pValue' )
)
->leftjoin('tblaCars', 'tblaCars.id', '=', 'pOrder.fCar')
->where( "loggedid", $loggedid)
->process( $_POST )
->json();
and i get the following error:
Fatal error: Uncaught Error: Class 'Options' not found in /home/sites/4b/f/f905e34be3/public_html/php/table.pOrder.php:49 Stack trace: #0 {main} thrown in /home/sites/4b/f/f905e34be3/public_html/php/table.pOrder.php on line 49
when my code was (in Editor part):
Editor::inst( $db, 'pOrder', 'id' )
->fields(
Field::inst( 'pOrder.fcar' )
->options('tblaCars','id','pCar')
->validator( 'Validate::dbValues' ),
Field::inst( 'tblaCars.pCar' ),
Field::inst( 'tblaCars.pName' ),
Field::inst( 'pOrder.pdate' )
->validator( 'Validate::dateFormat', array( 'format'=>'d/m/y' ) )
->getFormatter( 'Format::date_sql_to_format', 'd/m/y' )
->setFormatter( 'Format::date_format_to_sql', 'd/m/y' ),
Field::inst( 'pOrder.pValue' )
)
it was working Ok.
I tried to change that to get only the records that meet a criteria, and i found that link https://editor.datatables.net/manual/php/joins#Options in your site
but since then the table doesn't load records.
Any help?
Thanks in advance
Answers
Looking more carefully on the bottom of the site saw a comment from user brendons
"@v1.6.111:47, Mon 19th Dec 2016
So following his advise everything now works fine.
Thanks
That's the one. Thanks for the update!
Allan