Ejemplo n.º 1
0
 public function loadFilesForHtml($class_name, $property_name, $entity_id, $session_id, $order_by = 'created', $asc = 'DESC')
 {
     $entity_id = (int) $entity_id;
     $rsm = new \Doctrine\ORM\Query\ResultSetMappingBuilder($this->_em);
     $rsm->addRootEntityFromClassMetadata($this->_entityName, 'f');
     if ($entity_id > 0) {
         $sql = sprintf('SELECT * FROM %s WHERE class_name=? AND property_name=? AND entity_id=? AND (
             session_id=? OR session_id IS NULL
         ) ORDER BY %s %s ', $this->_class->table['name'], $order_by, $asc);
         $query = $this->_em->createNativeQuery($sql, $rsm);
         $query->setParameter(1, $class_name);
         $query->setParameter(2, $property_name);
         $query->setParameter(3, $entity_id);
         $query->setParameter(4, $session_id);
     } else {
         $sql = sprintf('SELECT * FROM %s WHERE class_name=? AND property_name=? AND entity_id=0 AND (
             session_id=? 
         ) ORDER BY %s %s ', $this->_class->table['name'], $order_by, $asc);
         $query = $this->_em->createNativeQuery($sql, $rsm);
         $query->setParameter(1, $class_name);
         $query->setParameter(2, $property_name);
         $query->setParameter(3, $session_id);
     }
     return $query;
 }
Ejemplo n.º 2
0
 /**
  * @group DDC-1663
  */
 public function testAddNamedNativeQueryResultClass()
 {
     $cm = new ClassMetadata('Doctrine\\Tests\\Models\\CMS\\CmsUser');
     $cm->initializeReflection(new \Doctrine\Common\Persistence\Mapping\RuntimeReflectionService());
     $cm->addNamedNativeQuery(array('name' => 'find-all', 'resultClass' => '__CLASS__', 'query' => 'SELECT * FROM cms_users'));
     $queryMapping = $cm->getNamedNativeQuery('find-all');
     $rsm = new \Doctrine\ORM\Query\ResultSetMappingBuilder($this->_em);
     $rsm->addNamedNativeQueryMapping($cm, $queryMapping);
     $this->assertEquals('c0', $rsm->getEntityAlias('id'));
     $this->assertEquals('c0', $rsm->getEntityAlias('name'));
     $this->assertEquals('c0', $rsm->getEntityAlias('status'));
     $this->assertEquals('c0', $rsm->getEntityAlias('username'));
     $this->assertEquals('Doctrine\\Tests\\Models\\CMS\\CmsUser', $rsm->getClassName('c0'));
     $this->assertEquals('Doctrine\\Tests\\Models\\CMS\\CmsUser', $rsm->getDeclaringClass('id'));
     $this->assertEquals('Doctrine\\Tests\\Models\\CMS\\CmsUser', $rsm->getDeclaringClass('name'));
     $this->assertEquals('Doctrine\\Tests\\Models\\CMS\\CmsUser', $rsm->getDeclaringClass('status'));
     $this->assertEquals('Doctrine\\Tests\\Models\\CMS\\CmsUser', $rsm->getDeclaringClass('username'));
 }