CakePHP模型关联不在插件内部工作

时间:2013-12-15 13:58:21

标签: php cakephp plugins cakephp-2.4 cakephp-model

通过使用CakePHP 2.4框架,我正在尝试实现一个Admin站点和Json插件来访问它的内容数据。

所以,我只是使用了bake命令并为它创建了管理站点和插件。仅为站点(app)创建的模型类不是为插件创建的。我也计划访问插件控制器的应用程序模型类。

-MyProject
--app
--Model
 --AppModel.php
 --Post.php
 --Comment.php
--Plugin
 --MyPlugin
   --Model
     --MyPluginAppModel.php

*请注意,所有其他文件和结构保持不变。

我有模特协会,一个帖子有很多评论

所以在我的插件控制器(CommentsController.php)中,我使用了这段代码

$temp = $this->Comment->Post->findById($post_id);

它给我的错误“ 在非对象上调用成员函数findById()

但是当我访问时,

$temp = $this->Comment->findById($comment_id);

这很好。

然后我找到了两个有效的解决方案如下。

1 - 为插件创建相同的模型类

2-在控制器中使用bindModel函数

(这个属性已经存在于Comment.php模型中。)

this->Comment->bindModel(
        array('belongsTo' => array(
                'Post' => array(
                    'className' => 'Post',
                    'foreignKey' => 'post_id',
                )
            )
        )
    );

似乎这两种方法都没用,也没有办法(希望如此)。

所以我的问题是,正确的方法是什么?我错过了什么吗?

主要是,为什么我无法访问插件中的模型关联?

请帮忙。任何建议/答案都表示赞赏。

谢谢,

0 个答案:

没有答案