Cakephp 3 +带有前缀插件的CounterCache

时间:2016-11-21 19:04:00

标签: cakephp-3.0

我们假设我们有两个模型: Foo / Blog.posts和Foo / Blog.categories。

我想在每次创建新帖子时更新categories.post_count字段。

我在这样的Foo \ Blog \ Model \ Table \ PostsTable中附加了CounterCache行为(在我的初始化函数中):

$this->addBehavior('CounterCache', [
   'Categories' => ['post_count']
]);

但是当我尝试添加新帖子时,我遇到如下错误:

Base table or view not found: 1146 Table 'my-db.categories' doesn't exist

有什么想法吗? Tx为您提供帮助

1 个答案:

答案 0 :(得分:0)

我发现它不起作用。

我在Foo / Blog.posts和Foo / Blog.categories之间的关系不正确。我忘记了插件前缀。

正确的关系声明:

$this->belongsTo('Categories', [
    'className' => 'Foo/Blog.Categories'
]);