cakePHP:为什么我的模型关联不能作为插件工作?

时间:2010-10-15 18:23:38

标签: model-view-controller cakephp cakephp-1.3

我的关系如下。

  1. 游戏 - > hasMany Highscores
  2. 高分 - > belongsTo Games,用户
  3. 当我独立运行MVC文件(在app目录中各自的位置)时,我获得与Highscores相关的所有belongsTo数据。但是,当我在插件目录中运行与插件相同的MVC文件时,这些关联就会丢失。

    在我看来,everythig是有序的,但无济于事。我是蛋糕PHP的新手,所以我确定这是愚蠢的。然而,我不能为生活弄明白。

    非常感谢任何帮助。

    我引用了:

    book.cakephp.org/view/117/Plugin-Models trac.cakephp.org/ticket/3876 aranworld.com/article/143/cakephp-model-associations-from-within-plugin-directories

2 个答案:

答案 0 :(得分:4)

您是否使用PluginName作为已加入模型名称中的前缀来设置关系?

这听起来很尴尬 - 例如

<?php
    class MyModel extends AppModel
    {
        public $name = "MyModel";
        public $belongsTo = array(
            'User' => array(
                'className' => 'SparkPlug.User',
            ),
        );
?>

答案 1 :(得分:2)

我最终使用了bindModel方法。

$this->Highscore->bindModel(
    array('belongsTo' => array(
            'User' => array(
                'className' => 'SparkPlug.User'
            )
        )
    )
);

不理想,仍然不确定为什么我的关系/协会迷失了。但这必须要做。