public static function model($className = __CLASS__) { return parent::model($className); }
public static function getModels($params = array()) { $result = array(); $modules_dirs = scandir(MODULES_PATH); foreach ($modules_dirs as $module_dir) { if ($module_dir[0] == '.') { continue; } $module_class = ucfirst($module_dir) . 'Module'; if (array_key_exists('active', $params)) { $active_attr = new ReflectionProperty($module_class, 'active'); if ($active_attr->getValue() !== $params['active']) { continue; } } $models_dir = MODULES_PATH . $module_dir . '/models'; if (!file_exists($models_dir)) { continue; } $models_files = scandir($models_dir); foreach ($models_files as $model_file) { if ($model_file[0] == '.') { continue; } $model_class = str_replace('.php', null, $model_file); $model = ActiveRecordModel::model($model_class); if (isset($params['meta_tags'])) { $behaviors = $model->behaviors(); $behaviors = ArrayHelper::extract($behaviors, 'class'); if (!in_array('application.components.activeRecordBehaviors.MetaTagBehavior', $behaviors)) { continue; } } $result[$model_class] = $model->name(); } } return $result; }
public function findAllAttaches() { $model = $this->getOwner(); $object_id = $model->isNewRecord ? $this->_tmpPrefix() : $model->id; return ActiveRecordModel::model($this->attached_model)->findAllByAttributes(array('object_id' => $object_id, 'model_id' => get_class($model))); }