示例#1
0
 /**
  * @TODO GROUP_CONCAT()
  * Add a join statement from array collection
  *
  * @param $meta - getClassMetaData
  * @param $fk
  * @param $field
  * @param $alias
  * @param $defaultAlias
  * @param $targetEntity
  */
 public function fkArrayAssociation($meta, $fk, $field, $alias, $defaultAlias, $targetEntity)
 {
     if ($association = $meta->associationMappings[$fk]) {
         if (!in_array($targetEntity, $this->entitys)) {
             $condition = $this->getFullFieldName($association['fieldName'], $alias) . ' = ' . $this->getFullFieldName($association['joinColumns'][0]['referencedColumnName'], $defaultAlias);
             $this->queryBuilder->join($targetEntity, $alias, 'WITH', $condition);
             $this->queryBuilder->andWhere($condition);
             $this->entitys[] = $targetEntity;
         }
         return '(' . $this->getFullFieldName($field, $alias) . ') AS ' . $this->getFullFieldName($field, $alias, '_');
     }
 }
 /**
  * @param $join
  * @param $alias
  */
 public function join($join, $alias)
 {
     $this->_query->join($join, $alias);
     $this->_filter['join'][] = array('join' => $join, 'alias' => $alias);
 }