Table 使用的对象 Cake\ORM\Table 而不是具体的 class:如何修复?
Table objects used Cake\ORM\Table instead of a concrete class: How to fix?
我的 CakePHP 日志中有此警告:
The following Table objects used Cake\ORM\Table instead of a concrete
class:
Jobs
这是我的控制器class:
<?php
namespace App\Controller;
use App\Controller\AppController;
use Cake\ORM\TableRegistry;
/**
* Jobs Controller
*
* @property \App\Model\Table\JobsTable $Jobs
*/
class JobsController extends AppController
{
public $name = 'Jobs';
/**
* Index method
*
* @return void
*/
public function index()
{
//Set Query Options
$options = array(
'order' => array('Jobs.created' => 'desc'),
'limit' => 1
);
//Get Jobs info
$getjobs = TableRegistry::get('Jobs');
$jobs = $getjobs->find('all',$options);
$this->set('jobs',$jobs);
}
}
是否有 another/better 访问我的数据库并从中读取数据的方法?
我正在使用最新版本的 CakePHP。
这是我第一次使用它,所以我想知道是否有更好的方法来实现这种MySQL交互。
在src/Model/Table/里面,定义一个class命名为JobsTable.php:
<?php
namespace App\Model\Table;
use Cake\ORM\Table;
class JobsTable extends Table
{
// ... Jobs Table logic defined here
}
这应该使用此 class 而不是委托 Cake class.
从 TableRegistry::get() 构建您的 Table 对象
您可以在此处了解有关在 CakePHP 3.x 中构建 Table 对象的更多信息:
我的 CakePHP 日志中有此警告:
The following Table objects used Cake\ORM\Table instead of a concrete class:
Jobs
这是我的控制器class:
<?php
namespace App\Controller;
use App\Controller\AppController;
use Cake\ORM\TableRegistry;
/**
* Jobs Controller
*
* @property \App\Model\Table\JobsTable $Jobs
*/
class JobsController extends AppController
{
public $name = 'Jobs';
/**
* Index method
*
* @return void
*/
public function index()
{
//Set Query Options
$options = array(
'order' => array('Jobs.created' => 'desc'),
'limit' => 1
);
//Get Jobs info
$getjobs = TableRegistry::get('Jobs');
$jobs = $getjobs->find('all',$options);
$this->set('jobs',$jobs);
}
}
是否有 another/better 访问我的数据库并从中读取数据的方法? 我正在使用最新版本的 CakePHP。 这是我第一次使用它,所以我想知道是否有更好的方法来实现这种MySQL交互。
在src/Model/Table/里面,定义一个class命名为JobsTable.php:
<?php
namespace App\Model\Table;
use Cake\ORM\Table;
class JobsTable extends Table
{
// ... Jobs Table logic defined here
}
这应该使用此 class 而不是委托 Cake class.
从 TableRegistry::get() 构建您的 Table 对象您可以在此处了解有关在 CakePHP 3.x 中构建 Table 对象的更多信息: