/** * Gets the configurations for the given model's attributes * @param ActiveRecord $model the active record to get attributes for * * @return array the attribute config */ protected function getAttributeConfigs(ActiveRecord $model) { $attributes = array(); $pk = $model->getTableSchema()->primaryKey; foreach ($model->getVisibleAttributeNames() as $attribute) { $validators = array(); foreach ($model->getValidators($attribute) as $validator) { if ($validator->enableClientValidation && ($js = $validator->clientValidateAttribute($model, $attribute)) !== null) { $validators[] = $js; } } if (is_array($pk)) { $isPk = in_array($attribute, $pk); } else { $isPk = $attribute == $pk; } $attributes[$attribute] = array('label' => $model->getAttributeLabel($attribute), 'description' => $model->getAttributeDescription($attribute), 'primitive' => $model->getAttributePrimitive($attribute), 'type' => $model->getAttributeType($attribute), 'format' => $model->getAttributeFormat($attribute), 'input' => $model->getAttributeInput($attribute), 'validators' => $validators, 'isWritable' => $model->isAttributeSafe($attribute), 'isRequired' => $model->isAttributeRequired($attribute), 'isPrimaryKey' => (bool) $isPk); } return $attributes; }
/** * Gets the configurations for the given model's attributes * @param ActiveRecord $model the active record to get attributes for * * @return array the attribute config */ protected function getAttributeConfigs(ActiveRecord $model) { $types = $model->attributeTypes(); $descriptions = $model->attributeDescriptions(); $attributes = array(); foreach ($model->getVisibleAttributeNames() as $attribute) { $validators = array(); foreach ($model->getValidators($attribute) as $validator) { if ($validator->enableClientValidation && ($js = $validator->clientValidateAttribute($model, $attribute)) !== null) { $validators[] = $js; } } $attributes[$attribute] = array('label' => $model->getAttributeLabel($attribute), 'type' => isset($types[$attribute]) ? $types[$attribute] : null, 'description' => isset($descriptions[$attribute]) ? $descriptions[$attribute] : null, 'writable' => $model->isAttributeSafe($attribute), 'required' => $model->isAttributeRequired($attribute), 'validators' => $validators); } return $attributes; }