Php 使用条令访问Symfony 2中的一对多关系时出错

Php 使用条令访问Symfony 2中的一对多关系时出错,php,doctrine,symfony,Php,Doctrine,Symfony,我有一个简单的一对多关系,当我尝试遍历集合时会出错 从“One”User.php 以及相应的“多”UserMeasurement.php: /** * @ORM\ManyToOne(targetEntity="User", inversedBy="measurements", cascade={"persist"}) * @ORM\JoinColumn(name="user_id", referencedColumnName="id") */ pro

我有一个简单的一对多关系,当我尝试遍历集合时会出错

从“One”User.php

以及相应的“多”UserMeasurement.php:

    /**
     * @ORM\ManyToOne(targetEntity="User", inversedBy="measurements", cascade={"persist"})
     * @ORM\JoinColumn(name="user_id", referencedColumnName="id")
     */
    protected $user;
但是,当我尝试从命令运行时:

    $query = $em->createQuery(" SELECT user FROM AcmeFooBundle:User user");
    $users = $query->getResult();
    foreach ($users as $user) {
        print count($user->getMeasurements()->toArray());
    }
我得到以下错误:

[错误例外]
注意:未定义索引:中的度量值 /Applications/MAMP/htdocs/Symfony/vendor/doctor/lib/doctor/ORM/persister/basicnitypersister.php 第1280行

我已经运行了
条令:schema:update--force
命令,它显示我处于同步状态


我的迭代是否有误?

在您的用户实体中,您有以下行:

@ORM\OneToMany(targetEntity="UserMeasurement", mappedBy="measurements")
您要告诉的是,它应该在
UserMeasurement
实体中查找名为
measurements
的字段,该字段不存在。你可能想要的是:

@ORM\OneToMany(targetEntity="UserMeasurement", mappedBy="user")
@ORM\OneToMany(targetEntity="UserMeasurement", mappedBy="user")