【问题标题】:MongoDB and CakePHP Model associationsMongoDB 和 CakePHP 模型关联
【发布时间】:2010-07-05 10:55:12
【问题描述】:

我正在尝试制作一个包含在那场比赛中排队的球员的比赛模型。所以每场比赛有很多玩家,每个球员都有很多比赛。

match = {
 '_id' : ObjectID('978tqwbi9873gofiu'),
 'home' : 'Argentina',
 'away' : 'Brazil',
 'lineup-home' : [
   {'name' : 'Lionel Messi',
    'goals' : '2',
    'timeon' : 30
   },
   {'name' : 'Diego Maradonna',
    'goals' : '0',
    'timeon' : 0
   },
   {'name' : 'Sergio Aguero',
    'goals' : '0',
    'timeon' : 0
   }
 ]
 }  

如何在我的 CakePHP 模型中添加这些 'lineup-home' 关系以使用我的 mongoDB?这就是我的模型的样子...

    class Match extends AppModel {
    //var $useDbConfig = 'mongo';
    var $mongoSchema = array(
        'home' => array('type' => 'string'),
        'away' => array('type' => 'string'),
        'lineup-home' => ???
    );
}

谢谢。

【问题讨论】:

  • 你有没有得到解决方案,我也有同样的问题?

标签: cakephp many-to-many mongodb associations


【解决方案1】:

我认为使用 'lineup-home' => 'array' 可以解决问题..

【讨论】:

  • 你确定吗?它看起来有些奇怪,而且似乎不起作用: var $mongoSchema = array( 'home' => array('type' => 'string'), 'away' => array('type' => 'string '), 'lineup-home' => array('type' => 'array') );
【解决方案2】:

然后呢

var $mongoSchema = array(
        'home' => array('type' => 'string'),
        'away' => array('type' => 'string'),
        'lineup-home' => array(
           'name' => array('type' => 'string'),
           'goals' => array('type' => 'string'),
           'timeon' => array('type' => 'integer'),
        )
    );

【讨论】:

    【解决方案3】:

    您可以使用此架构:

    var $mongoSchema = array(
            'home' => array('type' => 'string'),
            'away' => array('type' => 'string'),
            'lineup-home' => array(
               array(
                   'name' => array('type' => 'string'),
                   'goals' => array('type' => 'string'),
                   'timeon' => array('type' => 'integer'),
               )
            )
        );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-05
      相关资源
      最近更新 更多