public function listModelColumnNames() { $modelClass = $this->getModelClassDesignTime(); $key = md5('builder-global-model-list-' . $modelClass); $cached = Cache::get($key, false); if ($cached !== false && ($cached = @unserialize($cached)) !== false) { return $cached; } $pluginCodeObj = PluginCode::createFromNamespace($modelClass); $modelClassParts = explode('\\', $modelClass); // The full class name is already validated in PluginCode::createFromNamespace() $modelClass = array_pop($modelClassParts); $columnNames = ModelModel::getModelFields($pluginCodeObj, $modelClass); $result = []; foreach ($columnNames as $columnName) { $result[$columnName] = $columnName; } Cache::put($key, serialize($result), 1); return $result; }