cakephp3 - 插件类表未加载

时间:2015-04-23 13:29:33

标签: cakephp-3.0

我用cakephp3创建一个插件博客。 当我调用url / blog / edit / 3时,一切都很好,表单输入已填充。

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

这里的课程:

<?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)
  {
  ...
  }
}

在调试程序中,我看到了消息:

  

生成的模型

     

以下表格对象使用Cake \ ORM \ Table而不是具体   class:文章

  • 我检查名称空间和文件
  • 的情况
  • 我运行命令 composer dumpautoloader

但是我的课没有加载

有人对我的问题有所了解吗?

由于

菲尔

2 个答案:

答案 0 :(得分:2)

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

$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
  }
...
}

答案 1 :(得分:0)

window.reload(); 文件夹中创建ArticlesTable类。最简单的方法是使用bake命令

src/Model/Table