Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Containable时CakePHP插件模型不关联_Php_Cakephp_Containable - Fatal编程技术网

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

使用Containable时CakePHP插件模型不关联,php,cakephp,containable,Php,Cakephp,Containable,我有一个名为Foo的CakePHP插件,它有一个组件,没有控制器,还有几个连接的模型。它的结构如下: /Plugin/Foo/Model/ -FooModel1.php -FooModel2.php -FooModel3.php -FooModel4.php 为了连接标准(非插件)代码,其中一个插件模型有条件地与名为Bar的标准模型相关联。我认为这与这个问题无关,但我想说得透彻一点 在FooController中,我使用了Containable,有几个层次: $params = arr

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

/Plugin/Foo/Model/
 -FooModel1.php
 -FooModel2.php
 -FooModel3.php
 -FooModel4.php
为了连接标准(非插件)代码,其中一个插件模型有条件地与名为
Bar
的标准模型相关联。我认为这与这个问题无关,但我想说得透彻一点

FooController
中,我使用了
Containable
,有几个层次:

$params = array(
  'conditions' => array('Bar.id' => $bar_id),
  'contain' => array(
    'FooModel1' => array(
      'FooModel2' => array(
        'FooModel3' => array('Something', 'FooModel4')
      ),
    ),
  ),
);
这会产生如下错误:

Warning: Model "FooModel2" is not associated with model "FooModel3" [CORE\Cake\Model\Behavior\ContainableBehavior.php, line 339]
所以在我的插件控制器中,我需要包含插件模型。我尝试在模型前面加上Foo(例如
Foo.FooModel1
),但是
Containable
认为我正在尝试得到一个名为Foo的模型。在插件模型中的
$hasandbelongtomany
数组中,我尝试了
'Model1'=>array()
'Foo.Model1'=>array()
,两者都不起作用。如何正确设置此关联

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


非常感谢您的帮助。

在您的模型中设置关联时,请确保在插件模型前面加上它们的插件名称…否则cake将动态生成一个插件…并且不使用插件中的文件…

请在相应的模型中包含您的关联。请参阅dave的评论,请更清楚地说明你想要达到的目标。您可以给我们提供模型定义或表格布局。您可以在这里看到,使用Foo.FooModel1没有帮助。除此之外,您的模型命名没有遵循约定。如果您试图使用内置功能,这会给您带来麻烦您的模型之间的关系是什么?您的contain数组似乎表明您的FoodModels之间存在hasMany/belongsTo关系,但您的问题提到了HABTM关系。