2013-05-23 4 views
0

Doctrine QueryBuilder를 사용하여 페이지 엔티티를 가져 오려고합니다. ORM을 성공적으로 구현했으며 문제없이 데이터베이스를 생성했습니다. 지금은 데이터베이스에서 엔티티를 잡아하려는, 코드의이 조각은 어떤 도움에 감사드립니다Doctrine QueryBuilder가 QueryException을 반환합니다.

public function getActivePages() 
{ 
    $qb = \WebTools\Doctrine\Doctrine::instance()->getQueryBuilder(); 
    $qb->select('page') 
     ->from('Website\Model\Body\Page', 'page') 
     ->where($qb->expr()->eq("page.isActive", true)); 
    $query = $qb->getQuery(); 
    $result = $query->getResult(); 
    \Doctrine\Common\Util\Debug::dump($result); 
    die(); 
    return $result; 
} 

문제가 발생

Fatal error: Uncaught exception 'Doctrine\ORM\Query\QueryException' with message 'SELECT page FROM Website\Model\Body\Page page WHERE page.isActive = 1' in path\to\orm\Doctrine\ORM\Query\QueryException.php:39 
Stack trace: 
#0 path\to\orm\Doctrine\ORM\Query\Parser.php(429): Doctrine\ORM\Query\QueryException::dqlError('SELECT page FRO...') 
#1 path\to\orm\Doctrine\ORM\Query\Parser.php(854): Doctrine\ORM\Query\Parser->semanticalError('Class 'Website\...', Array) 
#2 path\to\orm\Doctrine\ORM\Query\Parser.php(1529): Doctrine\ORM\Query\Parser->AbstractSchemaName() 
#3 path\to\orm\Doctrine\ORM\Query\Parser.php(1426): Doctrine\ORM\Query\Parser->RangeVariableDeclaration() 
#4 path\to\orm\Doctrine\ORM\Query\Parser.php(1168): Doctrine\ORM\Query\Parser->IdentificationVariableDeclaration() 
#5 path\to\orm\Doctrine\ORM\Query\Parser.php(757): Doctrine\ORM\Query\Parser->FromClause() 
#6 path\to\ in path\to\orm\Doctrine\ORM\Query\QueryException.php on line 49 

QueryException, 감사에게

+0

스택 추적에서 '# 1'로 판단하면 클래스가 존재하지 않습니다. –

답변

0

시도를 반환 할 것

$qb->select('page') 
    ->from('Page', 'page') 

또는

,
$qb->select('page') 
    ->from('\Website\Model\Body\Page', 'page') 

그리고 클래스가 dotrine에 의해 매핑되어 있는지 확인하십시오.

+0

Doctrine에 의해 발견 된 페이지 엔티티에 네임 스페이스를 사용해야한다는 것을 알았습니다. 그 점을 지적 해 주셔서 감사합니다! –

관련 문제