2

Doctrine2ORMの非常に単純なクエリで問題が発生しています。私はその手紙のドキュメントに従ったと確信していますが、それはうまくいきません。私はこれを持っています:

$qb = $this->em->createQueryBuilder()
    ->select('p')
    ->from('Property', 'p')
    ->where('type = :type');
$properties = $qb->getQuery()->setParameters(array(
    'type' => 'house',
))->getResult();

そして私は得る:

QueryException:[Semantical Error] line 0、col 46 near'type =:type':Error:'type' isnotdefined。

私も試しました:

$properties = $qb->getQuery()->setParameters(array(
    ':type' => 'house',
))->getResult();

運がない。これはとても単純なことだと思いますが、何が悪いのかわかりません。
ありがとう。

4

2 に答える 2

6
->where('p.type = :type');

プロパティの所有者Property(この場合はエンティティ)を常に指定する必要があります。

于 2011-03-03T17:57:36.560 に答える
0

私は常に、クエリではなく、QueryBuilderでsetParameter()を実行しました。

試す

$qb = $this->em->createQueryBuilder()
    ->select('p')
    ->from('Property', 'p')
    ->where('type = :type');

$qb->setParameters(array('type' => 'house'));

$properties = $qb->getQuery()->getResult();
于 2011-03-03T17:46:43.083 に答える