/**
  * {@inheritdoc}
  */
 protected function association(ProxyQueryInterface $queryBuilder, $data)
 {
     $associationMappings = $this->getParentAssociationMappings();
     $associationMappings[] = $this->getAssociationMapping();
     $alias = $queryBuilder->entityJoin($associationMappings);
     return array($alias, false);
 }
 /**
  * {@inheritdoc}
  */
 protected function association(ProxyQueryInterface $queryBuilder, $data)
 {
     $types = array(ClassMetadataInfo::ONE_TO_ONE, ClassMetadataInfo::ONE_TO_MANY, ClassMetadataInfo::MANY_TO_MANY, ClassMetadataInfo::MANY_TO_ONE);
     if (!in_array($this->getOption('mapping_type'), $types)) {
         throw new \RunTimeException('Invalid mapping type');
     }
     $associationMappings = $this->getParentAssociationMappings();
     $associationMappings[] = $this->getAssociationMapping();
     $alias = $queryBuilder->entityJoin($associationMappings);
     return array($alias, false);
 }
 /**
  * {@inheritdoc}
  */
 protected function association(ProxyQueryInterface $queryBuilder, $value)
 {
     $alias = $queryBuilder->entityJoin($this->getParentAssociationMappings());
     return array($alias, $this->getFieldName());
 }