我无法在全新安装中完成这项工作
/**
* @Route("/bla")
* @Template()
*/
public function blaAction()
{
$repository = $this->get('doctrine.odm.mongodb.document_manager')->getRepository('CompanySomeBundle:User');
$user = $repository->findOneByUsername('bla');
var_dump($user); // NULL
return new Response($user->getUsername()); // Fatal Error, user is not an object
}
/**
* @Route("/save-bla")
*/
public function saveBlaAction()
{
$user = new \Company\SomeBundle\Document\User;
$user->setUsername('bla');
$dm = $this->get('doctrine.odm.mongodb.document_manager');
$dm->persist($user);
$dm->flush();
return new Response($user->getId()); // prints a new ID as expected, but nothing is actually saved to the DB
}
我无法读取数据库中我知道的数据。我也无法保存数据(即使我可以获得新生成的ID)
注意:PHP的本地Mongo工作正常。
答案 0 :(得分:0)
问题部分解决了。
更改了这一行:./ vendor / docsine-mongodb / lib / Doctrine / MongoDB / Collection.php#146
--return $this->mongoCollection->batchInsert($a, $options);
++return $this->mongoCollection->batchInsert($a);
它正在发出一个警告(batchInsert正好需要1个参数,2个给定9将阻止文件被保存。用@抑制警告没有帮助。现在的问题是安全需要$ options参数写道,我不知道如何解决这个问题。
答案 1 :(得分:0)
您需要升级Mongo扩展程序。 PHP文档声明第二个参数是在v1.0.5中添加的。
http://us3.php.net/manual/en/mongocollection.batchinsert.php