Doctrine 查询构建器:使用 andWhere 添加多个条件的问题

问题描述 投票:0回答:1

我有很多条件:

if (!empty($requestData['year'])) {
                    $conditions[] = $qb->expr()->eq('dd.year', $requestData['year']);
}
if(!empty($requestData['month'])){
                    $conditions[] = $qb->expr()->eq('dd.month', $this->convertMonthStringToNumber($requestData['month']));
}

我正在尝试将其添加到 andWhere 中。我找到了这个解决方案:

$andX = $qb->expr()->andX();
$andX->addMultiple($conditions);
$qb->andWhere($andX);

但这给我带来了一个错误:

assert($lookahead !== null)
in [SERVER]\vendor\doctrine\orm\src\Query\Parser.php (line 2639) 
php doctrine doctrine-query
1个回答
0
投票

试试这个:

$andX = $qb->expr()->andX(...$conditions);
$qb->andWhere($andX);
© www.soinside.com 2019 - 2024. All rights reserved.