findBy()和findAll()产生空的花括号

时间:2014-01-17 11:31:13

标签: php mongodb symfony doctrine-orm

我使用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如下所示:

 /**
 * @MongoDB\Document
 */

class scripts
{
/**
 * @MongoDB\Id
 */
public $id;

/**
 * @MongoDB\String
 */
public $name;

/**
 * @MongoDB\String
 */
public $description;

/**
 * @MongoDB\Int
 */
public $index;

/**
 * @MongoDB\Int
 */
public $user_id;

任何帮助请:)

1 个答案:

答案 0 :(得分:0)

@Stenie回答:

  

您如何检查$ scripts的值?生成“空”结果的示例都返回Cursor对象而不是文档,而您的示例返回单个文档。在前两种情况下,我怀疑你需要迭代返回的游标(使用foreach或$ scripts-> getNext())。