gpt4 book ai didi

mysql - 学说:预期 Lexer::T_MEMBER,得到 '='

转载 作者:行者123 更新时间:2023-11-29 07:55:52 25 4
gpt4 key购买 nike

我尝试在存储库中定义一个函数:

    public function getBestResultForDisciplineAndRiegeFromActives(Discipline $discipline, Riege $riege){
$qb = $this->_em->createQueryBuilder();
$qb->select('r')
->from('Result', 'r')
->leftJoin('r.event', 'event')
->leftJoin('event.riegen', 'riege')
->leftJoin('r.member', 'member')
->leftJoin('member.membershipHistories', 'membershipHistory');
$qb->where("r.discipline = :discipline");
$qb->andWhere("riege = :riege");
$qb->andWhere("membershipHistory.riege = :riege");
$qb->andWhere("member.active = 1");
$qb->addOrderBy('r.value', $discipline->getSortOrder());
$qb->addOrderBy('event.startDate', "ASC");
$qb->setParameter('discipline', $discipline);
$qb->setParameter('riege', $riege);
$query = $qb->getQuery();
$query->setMaxResults(1);
$result = $query->getOneOrNullResult();
return $result;
}

但学说中的“$qb->andWhere("member.active = 1");”行有问题

出现以下错误:

( ! ) Fatal error: Uncaught exception 'Doctrine\ORM\Query\QueryException' with message
'SELECT r FROM Result r LEFT JOIN r.event event LEFT JOIN event.riegen riege LEFT JOIN r.member member LEFT JOIN member.membershipHistories membershipHistory WHERE r.discipline = :discipline AND riege = :riege AND membershipHistory.riege = :riege AND member.active = '1' ORDER BY r.value ASC, event.startDate ASC' in
C:\TV\xampp\htdocs\tvdb_wetten\vendor\doctrine\orm\lib\Doctrine\ORM\Query\QueryException.php on line 52

( ! ) Doctrine\ORM\Query\QueryException: [Syntax Error] line 0, col 264: Error: Expected Doctrine\ORM\Query\Lexer::T_MEMBER, got '=' in
C:\TV\xampp\htdocs\tvdb_wetten\vendor\doctrine\orm\lib\Doctrine\ORM\Query\QueryException.php on line 52

最佳答案

连接别名失败,现在可以了。

public function getBestResultForDisciplineAndRiegeFromActives(Discipline $discipline, Riege $riege){
$qb = $this->_em->createQueryBuilder();
$qb->select('r')
->from('Result', 'r')
->leftJoin('r.event', 'e')
->leftJoin('e.riegen', 'riege')
->leftJoin('r.member', 'm')
->leftJoin('m.membershipHistories', 'membershipHistory');
$qb->where("r.discipline = :discipline");
$qb->andWhere("riege = :riege");
$qb->andWhere("membershipHistory.riege = :riege");
$qb->andWhere("m.active = 1");
$qb->addOrderBy('r.value', $discipline->getSortOrder());
$qb->addOrderBy('e.startDate', "ASC");
$qb->setParameter('discipline', $discipline);
$qb->setParameter('riege', $riege);
$query = $qb->getQuery();
$query->setMaxResults(1);
$result = $query->getOneOrNullResult();
return $result;
}

关于mysql - 学说:预期 Lexer::T_MEMBER,得到 '=',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25190810/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com