Doctrine2:检查 Doctrine Collection 中是否存在价值
Doctrine2: check if exists value in Doctrine Collection
如何检查给定值是否存在于 Doctrine Collection(多对多关系)字段中?
例如我尝试:
$someClass = $this->
getDoctrine()->
getRepository('MyBundle:MyClass')->
find($id);
if (!$entity->getMyCollectionValues()->get($someClass->getId())) {
$entity->addMyCollectionValue($someClass);
}
但这当然不正确。那么,如何避免重复键呢?
你可以这样做:
$object = $this->getDoctrine()->getRepository('MyBundle:MyClass')->find($id);
if ( !$entity->getMyCollectionValues()->contains($object) ) {
$entity->addMyCollectionValue($object);
}
中查看 Doctrine ArrayCollection 的可用函数
如何检查给定值是否存在于 Doctrine Collection(多对多关系)字段中?
例如我尝试:
$someClass = $this->
getDoctrine()->
getRepository('MyBundle:MyClass')->
find($id);
if (!$entity->getMyCollectionValues()->get($someClass->getId())) {
$entity->addMyCollectionValue($someClass);
}
但这当然不正确。那么,如何避免重复键呢?
你可以这样做:
$object = $this->getDoctrine()->getRepository('MyBundle:MyClass')->find($id);
if ( !$entity->getMyCollectionValues()->contains($object) ) {
$entity->addMyCollectionValue($object);
}
中查看 Doctrine ArrayCollection 的可用函数