我用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:文章
但是我的课没有加载
有人对我的问题有所了解吗?
由于
菲尔
答案 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