2011-07-06 60 views
0

在CakePHP我试图将数据保存在这样的子文档:保存数据

$mongo = $this->User->getDataSource(); 
$mongo->update($this->User, array(
    array(
     '_id' => $tweep['User']['_id'], 
     'Services._id' => $tweep['User']['Services']['_id'] 
    ), 
    array('Services.$.following' => $following) 
)); 

但很明显我做错了什么,因为它不工作。

$以下是我想保存在具有特定ID的服务下的数组。

这是数据源的方法: https://github.com/ichikaway/cakephp-mongodb/blob/cake2.0/Model/Datasource/MongodbSource.php#L635

+0

我不熟悉PHP /蛋糕语法,但额外的封闭'阵列()'似乎正确 –

回答

2

使用updateAll()方法,而不是更新()。

使用MongoDbCollection对象。 https://github.com/ichikaway/cakephp-mongodb/wiki/How-to-get-MongoObject-or-MongoCollection-object

+0

不是我发现做这样的: $用户= $这个 - >用户 - > getMongoDb() - >用户; – webjay

+0

哇,这是很好的方式! – ichikaway

+0

这也适用于我,虽然我花了一些时间来弄清楚如何更新。我想知道是否有一种方法可以完成这种Cake的方式,而不必绕过数据库对象。无论如何,非常感谢提示! –