В Doctrine Query Builder вы можете использовать условные объекты для построения сложных запросов на основе определенных условий. Вот несколько методов, которые вы можете использовать вместе с примерами кода:
-
andWhere(condition): добавляет дополнительное условие к предложению WHERE с помощью оператора AND.
$qb->andWhere($qb->expr()->eq('column', 'value')); -
orWhere(condition): добавляет дополнительное условие к предложению WHERE с помощью оператора OR.
$qb->orWhere($qb->expr()->eq('column', 'value')); -
andWhere/orWhere с несколькими условиями: вы можете объединить несколько условий с помощью операторов AND или OR.
$qb->andWhere( $qb->expr()->eq('column1', 'value1'), $qb->expr()->eq('column2', 'value2') ); -
addSelect(выражение): добавляет выражение в предложение SELECT.
$qb->addSelect('column'); -
leftJoin(relation, alias, [condition]): выполняет операцию LEFT JOIN с указанным отношением и псевдонимом.
$qb->leftJoin('entity.relation', 'alias', $qb->expr()->eq('alias.column', 'value')); -
orderBy(column, [order]): добавляет предложение ORDER BY для упорядочивания результатов.
$qb->orderBy('column', 'ASC'); -
groupBy(column): добавляет предложение GROUP BY для группировки результатов по определенному столбцу.
$qb->groupBy('column'); -
having(condition): добавляет предложение HAVING для фильтрации результатов запроса GROUP BY.
$qb->having($qb->expr()->gt('SUM(column)', 'value')); -
setParameter(key, value): устанавливает значение параметра для запроса.
$qb->setParameter('key', 'value'); -
getQuery(): извлекает созданный объект Query.
$query = $qb->getQuery();