cakephp3 - 插件 class Table 未加载

cakephp3 - plugin class Table not load

我用蛋糕制作了一个插件博客php3。 当我调用 url /blog/edit/3 时,一切都很好,表单输入已填写。

我有一个class\Blog\Model\Table\ArticlesTable(文件位置:ROOT/plugins/Blog/src/Model/Table/ArticlesTable.php)

这里是 class :

<?php
namespace Blog\Model\Table;

use \Cake\ORM\Table;
use \Cake\Validation\Validator;

class ArticlesTable extends Table
{
  public function initialize(array $config)
  {
    //die('IN ArticlesTable::initialize');
    $this->table('articles');
    $this->primaryKey('id');
    $this->addBehavior('Timestamp');
  }

  public function validationDefault(Validator $validator)
  {
  ...
  }
}

在调试器中,我看到消息:

Generated Models

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

但是我的class没有加载

有人知道我的问题吗?

谢谢

菲尔

src/Model/Table 文件夹中创建 ArticlesTable class。最简单的方法是使用烘焙命令

bin/cake bake model Articles

我解决了这个问题。加载模型时需要指定插件命名空间:

$this->loadModel('Namespace.TableName');

在我的示例中,我更改了:

class BlogController extends AppController
{
  public function initialize()
  {
    parent::initialize();
    $this->loadModel('Articles');//<----- HERE
  }
...
}

class BlogController extends AppController
{
  public function initialize()
  {
    parent::initialize();
    $this->loadModel('Blog.Articles'); //<----- HERE
  }
...
}