我有两个实体
Client
Info
具有一对一的单向关系,作为Client
可以没有或一个Info
。
我正在尝试检查Client
是否已经对此进行了Info
:
$em = $this->getDoctrine()->getManager();
$check = $em->getRepository("MyBundle:Info")>findBy(array(
'client_id' => $id,
));
请注意,$id
将是我已经作为参数传递并有权访问的客户端 ID。问题是$check
什么样的数据,以便我能够验证它,如下所示:
if ($check ??..) {
//..do this
} else {
//.. do that
}
就是这么简单。使用findOneBy()
,如果找不到实体,则返回实体或null
:
$em = $this->getDoctrine()->getManager();
$info = $em->getRepository("MyBundle:Info")->findOneBy([
'client_id' => $id,
]);
if ($info) {
// manipulate existing info
} else {
// create new info
}
有关参考,请参阅:
- http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/working-with-objects.html#by-simple-conditions