我正在使用Symfony和Doctrine。
我定义了两个类,人和学生,这是一对一的关系。
每个学生与人相关,但并非每个人都与学生有关系。
当我打电话给...
$person->getStudent();
...我总是得到并反对,无论某些人没有学生。我怎么知道它没有(学生)存在于数据库中?
感谢。
答案 0 :(得分:9)
答案 1 :(得分:3)
您还可以使用Doctrine_Record::relatedExists()
,它是hasReference()
你这样使用它:
if ($person->relatedExists('Student'))
答案 2 :(得分:2)
有一个非常新的方法(我认为自Doctrine 1.2以来):$person->hasReference("Student");
返回一个布尔值,表示是否实际上有一个学生与该人相关联,无论它是否已在数据库中保存,以及希望不创建新的学生记录。
该调用适用于应用程序逻辑不关心相关对象的持久性的情况,例如,在交易中(我猜)。
希望有所帮助,欢呼,RAPHAEL