• File: GroupByStatement.php
  • Full Path: /home/bravrvjk/itiministry.org/wp-content/plugins/give/src/Framework/QueryBuilder/Concerns/GroupByStatement.php
  • Date Modified: 04/01/2022 2:56 AM
  • File size: 659 bytes
  • MIME-type: text/x-php
  • Charset: utf-8
<?php

namespace Give\Framework\QueryBuilder\Concerns;

use Give\Framework\Database\DB;

/**
 * @since 2.19.0
 */
trait GroupByStatement
{

    /**
     * @var string
     */
    protected $groupByColumns = [];

    /**
     * @return $this
     */
    public function groupBy($tableColumn)
    {
        if (!in_array($tableColumn, $this->groupByColumns, true)) {
            $this->groupByColumns[] = DB::prepare('%1s', $tableColumn);
        }

        return $this;
    }

    protected function getGroupBySQL()
    {
        return !empty($this->groupByColumns)
            ? ['GROUP BY ' . implode(',', $this->groupByColumns)]
            : [];
    }
}