首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Containable时CakePHP插件模型不关联

使用Containable时CakePHP插件模型不关联
EN

Stack Overflow用户
提问于 2012-07-06 03:30:57
回答 1查看 1.1K关注 0票数 3

我有一个名为Foo的CakePHP插件,它有一个组件,没有控制器,还有几个连接的模型。它的结构如下:

代码语言:javascript
复制
/Plugin/Foo/Model/
 -FooModel1.php
 -FooModel2.php
 -FooModel3.php
 -FooModel4.php

为了与标准(非插件)代码连接,其中一个插件模型有条件地与一个名为Bar的标准模型相关联。我不认为这与问题相关,但我想要彻底。

FooController中,我使用了几层深度的Containable

代码语言:javascript
复制
$params = array(
  'conditions' => array('Bar.id' => $bar_id),
  'contain' => array(
    'FooModel1' => array(
      'FooModel2' => array(
        'FooModel3' => array('Something', 'FooModel4')
      ),
    ),
  ),
);

这会产生如下错误:

代码语言:javascript
复制
Warning: Model "FooModel2" is not associated with model "FooModel3" [CORE\Cake\Model\Behavior\ContainableBehavior.php, line 339]

所以在我的插件控制器中,我需要包含插件模型。我尝试用Foo作为模型的前缀(例如Foo.FooModel1),但Containable认为我正在尝试获取一个名为Foo的模型。在插件模型的$hasAndBelongsToMany数组中,我尝试了'Model1' => array()'Foo.Model1' => array(),它们都不起作用。如何正确设置此关联?

附注:当我将模型移出插件并放入标准的/Model/目录时,一切都很正常。问题似乎来自不正确的关联,而不是代码本身的逻辑。

非常感谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2012-08-16 07:25:01

当在你的模型中建立你的关联时,确保在插件模型前面加上他们的插件name...otherwise蛋糕将在fly...and上生成一个,而不是使用你插件中的文件...

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11351260

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档