MetaModels\BackendIntegration\InputScreen\InputScreen::translateRows PHP Метод

translateRows() защищенный Метод

Translate database rows into legend and property information.
protected translateRows ( array $rows ) : void
$rows array The database rows.
Результат void
    protected function translateRows($rows)
    {
        $metaModel = $this->getMetaModel();
        $activeLegend = $this->translateLegend(array('legendtitle' => 'Unnamed legend', 'legendhide' => false), $metaModel);
        $activeLegendId = null;
        // First pass, fetch all attribute names.
        $columnNames = array();
        foreach ($rows as $row) {
            if ($row['dcatype'] != 'attribute') {
                continue;
            }
            $attribute = $metaModel->getAttributeById($row['attr_id']);
            if ($attribute) {
                $columnNames[$row['id']] = $attribute->getColName();
            }
        }
        $this->propertyMap = $columnNames;
        $this->propertyMap2 = array_flip($columnNames);
        // Second pass, translate all information into local properties.
        foreach ($rows as $row) {
            switch ($row['dcatype']) {
                case 'legend':
                    $activeLegend = $this->translateLegend($row, $metaModel);
                    $activeLegendId = $row['id'];
                    break;
                case 'attribute':
                    $exists = $this->translateProperty($row, $metaModel, $activeLegend);
                    if ($exists && $activeLegendId) {
                        $this->applyLegendConditions($row['id'], $activeLegendId);
                    }
                    break;
                default:
                    throw new \RuntimeException('Unknown palette rendering mode ' . $row['dcatype']);
            }
        }
    }