$qb = $conn->createQueryBuilder()
->select('u.name')
->from('users', 'u')
->groupBy('u.lastLogin');
->addGroupBy('u.createdAt')
public addGroupBy ( mixed $groupBy ) | ||
$groupBy | mixed | The grouping expression. |
/** * @param QueryBuilder $builder * @param string $modelClass * * @return QueryBuilder */ protected function distinct(QueryBuilder $builder, $modelClass) { // emulate SELECT DISTINCT (group by primary key) $primaryColumn = $this->getModelSchemes()->getPrimaryKey($modelClass); $fullPrimaryColumn = $this->getColumn($modelClass, $this->getTableName($modelClass), $primaryColumn); $builder->addGroupBy($fullPrimaryColumn); return $builder; }
/** * @test */ public function addGroupByQuotesIdentifierAndDelegatesToConcreteQueryBuilder() { $this->connection->quoteIdentifiers(['aField', 'anotherField'])->shouldBeCalled()->willReturnArgument(0); $this->concreteQueryBuilder->addGroupBy('aField', 'anotherField')->shouldBeCalled()->willReturn($this->subject); $this->subject->addGroupBy('aField', 'anotherField'); }
/** * Adds a grouping expression to the query. * * @param mixed $groupBy The grouping expression. * * @return self */ public function addGroupBy($groupBy) { $this->qb->addGroupBy($groupBy); return $this; }
/** * Adds a grouping expression to the query. * * @param mixed,... $groupBy The grouping expression. * * @return QueryBuilder This QueryBuilder instance. */ public function addGroupBy(...$groupBy) : QueryBuilder { $this->concreteQueryBuilder->addGroupBy(...$this->quoteIdentifiers($groupBy)); return $this; }
/** * @inheritdoc */ protected function addGroupBy(QueryBuilder $queryBuilder) { $queryBuilder->addGroupBy('main.id'); }