php - 表对象使用 Cake\ORM\Table 而不是具体类 : How to fix?

标签 php mysql cakephp cakephp-3.0

我的 CakePHP 日志中有这个警告:

The following Table objects used Cake\ORM\Table instead of a concrete class:

Jobs

这是我的 Controller 类:

<?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);
    }
}

是否有另一种/更好的方法来访问我的数据库并从中读取数据? 我正在使用最新版本的 CakePHP。 这是我第一次使用它,所以我想知道是否有更好的方法来进行此 MySQL 交互。

最佳答案

在 src/Model/Table/中,定义一个名为 JobsTable.php 的类:

<?php

namespace App\Model\Table;

use Cake\ORM\Table;

class JobsTable extends Table
{
    // ... Jobs Table logic defined here
}

这应该使用此类而不是委托(delegate)的 Cake 类从 TableRegistry::get() 构建您的 Table 对象。

您可以在此处了解有关在 CakePHP 3.x 中构建 Table 对象的更多信息:

CakePHP 3.x Table Objects

关于php - 表对象使用 Cake\ORM\Table 而不是具体类 : How to fix?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30103787/

相关文章:

php - 在 Woocommerce 中查找并显示产品自定义字段值

php - 按下后退按钮时强制重新加载/刷新

mysql - INSERT w/SELECT 子查询和重复键错误

CakePHP - $this->数据在 Model::save 之前消失

php - 如何仅显示表中没有 HABTM 关联的行

php - sql中日期列的groupby周

php - 在 MySQL 数据库中保存数据的最有效方法是什么

php - 使用jquery将文本文件导入mysql

java - YCSB 对 mysql 数据库进行扫描操作时出错

cakephp - 在 CakePHP 中使用关联条件进行过滤