gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-10-31 20:47:52 25 4
gpt4 key购买 nike

我有一个名为 Foo 的 CakePHP 插件,它有一个组件、没有 Controller 和几个连接的模型。它的结构如下:

/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]

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

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

非常感谢您的帮助。

最佳答案

在模型中设置关联时,请确保在插件模型前加上插件名称前缀...否则 cake 会即时生成一个...并且不会在您的插件中使用该文件...

关于php - 使用 Containable 时 CakePHP 插件模型不关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11351260/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com