Php 使用条令访问Symfony 2中的一对多关系时出错
我有一个简单的一对多关系,当我尝试遍历集合时会出错 从“One”User.php 以及相应的“多”UserMeasurement.php: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
/**
* @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")