eZ\Publish\Core\Persistence\Legacy\User\Role\LimitationHandler\ObjectStateHandler::getGroupMap PHP Method

getGroupMap() protected method

Query for groups identifiers and id's.
protected getGroupMap ( array $limitIds = null )
$limitIds array
    protected function getGroupMap(array $limitIds = null)
    {
        $query = $this->dbHandler->createSelectQuery();
        $query->select($this->dbHandler->quoteColumn('identifier', 'ezcobj_state_group'), $this->dbHandler->quoteColumn('id', 'ezcobj_state'))->from($this->dbHandler->quoteTable('ezcobj_state'))->innerJoin($this->dbHandler->quoteTable('ezcobj_state_group'), $query->expr->eq($this->dbHandler->quoteColumn('group_id', 'ezcobj_state'), $this->dbHandler->quoteColumn('id', 'ezcobj_state_group')));
        if ($limitIds !== null) {
            $query->where($query->expr->in($this->dbHandler->quoteColumn('id', 'ezcobj_state'), array_map('intval', $limitIds)));
        }
        $statement = $query->prepare();
        $statement->execute();
        $map = array();
        $groupValues = $statement->fetchAll(\PDO::FETCH_ASSOC);
        foreach ($groupValues as $groupValue) {
            $map[self::STATE_GROUP . $groupValue['identifier']][] = (int) $groupValue['id'];
        }
        return $map;
    }