MongoDB 和 CakePHP 模型关联
Posted
技术标签:
【中文标题】MongoDB 和 CakePHP 模型关联【英文标题】:MongoDB and CakePHP Model associations 【发布时间】: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' => ???
);
谢谢。
【问题讨论】:
你有没有得到解决方案,我也有同样的问题? 【参考方案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'),
)
)
);
【讨论】:
以上是关于MongoDB 和 CakePHP 模型关联的主要内容,如果未能解决你的问题,请参考以下文章