我有一个名为 CakePHP 的插件Foo
,它有一个组件、没有控制器和几个连接模型。它的结构是这样的:
/Plugin/Foo/Model/
-FooModel1.php
-FooModel2.php
-FooModel3.php
-FooModel4.php
为了与标准(非插件)代码连接,插件模型之一有条件地与名为Bar
. 我不认为这与问题有关,但我想彻底。
在FooController
I make use 中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 的模型。在$hasAndBelongsToMany
插件模型的数组中,我都尝试了'Model1' => array()
和'Foo.Model1' => array()
,但都不起作用。如何正确设置此关联?
旁注:当我将模型移出插件并进入标准/Model/
目录时,一切正常。问题似乎来自不正确的关联,而不是代码本身的逻辑。
非常感谢您的帮助。