教义2:检查教义集合中是否存在值



如何检查给定值是否存在于教义集合(多对多关系)字段中?

例如,我尝试:

$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);
}

您可以在 http://www.doctrine-project.org/api/common/2.1/class-Doctrine.Common.Collections.ArrayCollection.html 中查看Doctrine ArrayCollection的可用功能

相关内容

  • 没有找到相关文章

最新更新