我正在尝试使用Doctrine QueryBuilder获取我的页面实体。我已经成功实现了ORM,它生成了我的数据库,没有任何问题。现在我想从数据库中获取实体,它似乎返回一个QueryException
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
这段代码会导致麻烦
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;
}
感谢任何帮助,谢谢
答案 0 :(得分:0)
尝试
$qb->select('page')
->from('Page', 'page')
或
$qb->select('page')
->from('\Website\Model\Body\Page', 'page')
并确保您的课程由dotrine映射。