我使用Symfony2和doctrine_mongodb。请问为什么我的 findBy 和 findAll 会产生空的大括号?user_id是整数。
$repository = $this->get('doctrine_mongodb')->getManager()->getRepository('MyMpBundle:Scripts');
我已经尝试了以下方法:
$scripts = $repository -> findBy(array('user_id' => 1)); //produces empty {}
$scripts = $repository -> findAll(); //produces empty{}
$scripts = $repository -> findOneBy(array('user_id' => 1)); //produces value
我希望为 mongodb 数据库中的所有文档分配$scripts。脚本.php如下所示:
/**
* @MongoDBDocument
*/
class scripts
{
/**
* @MongoDBId
*/
public $id;
/**
* @MongoDBString
*/
public $name;
/**
* @MongoDBString
*/
public $description;
/**
* @MongoDBInt
*/
public $index;
/**
* @MongoDBInt
*/
public $user_id;
任何帮助请:)
正如@Stenie回答的那样:
您如何检查$scripts的价值?生成"空"结果的示例都返回 Cursor 对象而不是文档,而工作的示例返回单个文档。在前两种情况下,我怀疑您需要迭代返回的游标(使用 foreach 或 $scripts->getNext())。