/** * @param array $havingArray * @param Select $select * @param GenericBuilder $writer * @param PlaceholderWriter $placeholder * * @return mixed */ protected function getHavingConditions(array &$havingArray, Select $select, GenericBuilder $writer, PlaceholderWriter $placeholder) { \array_walk($havingArray, function (&$having) use($select, $writer, $placeholder) { $whereWriter = WriterFactory::createWhereWriter($writer, $placeholder); $clauses = $whereWriter->writeWhereClauses($having); $having = \implode($this->writer->writeConjunction($select->getHavingOperator()), $clauses); }); return $havingArray; }