Methods summary
abstract public
array
|
#
attributeNames( )
Returns the list of attribute names of the model.
Returns the list of attribute names of the model.
Returns
array list of attribute names.
|
public
array
|
#
rules( )
Returns the validation rules for attributes.
Returns the validation rules for attributes.
This method should be overridden to declare validation rules. Each rule is an
array with the following structure:
array('attribute list', 'validator name', 'on'=>'scenario name', ...validation parameters...)
where
The following are some examples:
array(
array('username', 'required'),
array('username', 'length', 'min'=>3, 'max'=>12),
array('password', 'compare', 'compareAttribute'=>'password2', 'on'=>'register'),
array('password', 'authenticate', 'on'=>'login'),
);
Note, in order to inherit rules defined in the parent class, a child class
needs to merge the parent rules with child rules using functions like
array_merge().
Returns
See
scenario
|
public
array
|
#
behaviors( )
Returns a list of behaviors that this model should behave as. The return
value should be an array of behavior configurations indexed by behavior names.
Each behavior configuration can be either a string specifying the behavior class
or an array of the following structure:
'behaviorName'=>array(
'class'=>'path.to.BehaviorClass',
'property1'=>'value1',
'property2'=>'value2',
)
Returns a list of behaviors that this model should behave as. The return
value should be an array of behavior configurations indexed by behavior names.
Each behavior configuration can be either a string specifying the behavior class
or an array of the following structure:
'behaviorName'=>array(
'class'=>'path.to.BehaviorClass',
'property1'=>'value1',
'property2'=>'value2',
)
Note, the behavior classes must implement IBehavior or extend from
CBehavior . Behaviors declared in this method will be attached to the
model when it is instantiated.
For more details about behaviors, see CComponent .
Returns
array the behavior configurations (behavior name=>behavior configuration)
|
public
array
|
#
attributeLabels( )
Returns the attribute labels. Attribute labels are mainly used in error
messages of validation. By default an attribute label is generated using CModel::generateAttributeLabel() . This method allows you to explicitly specify attribute
labels.
Returns the attribute labels. Attribute labels are mainly used in error
messages of validation. By default an attribute label is generated using CModel::generateAttributeLabel() . This method allows you to explicitly specify attribute
labels.
Note, in order to inherit labels defined in the parent class, a child class
needs to merge the parent labels with child labels using functions like
array_merge().
Returns
array attribute labels (name=>label)
See
|
public
boolean
|
#
validate( array $attributes = null, boolean $clearErrors = true )
Performs the validation.
This method executes the validation rules as declared in CModel::rules() . Only
the rules applicable to the current scenario will be executed. A rule is
considered applicable to a scenario if its 'on' option is not set or contains
the scenario.
Errors found during the validation can be retrieved via CModel::getErrors() .
Parameters
- $attributes
array $attributes list of attributes that should be validated. Defaults to null,
meaning any attribute listed in the applicable validation rules should be
validated. If this parameter is given as a list of attributes, only the listed
attributes will be validated.
- $clearErrors
boolean $clearErrors whether to call CModel::clearErrors() before performing validation
Returns
boolean whether the validation is successful without any error.
See
|
protected
|
#
afterConstruct( )
This method is invoked after a model instance is created by new operator. The
default implementation raises the CModel::onAfterConstruct() event. You may
override this method to do postprocessing after model creation. Make sure you
call the parent implementation so that the event is raised properly.
This method is invoked after a model instance is created by new operator. The
default implementation raises the CModel::onAfterConstruct() event. You may
override this method to do postprocessing after model creation. Make sure you
call the parent implementation so that the event is raised properly.
|
protected
boolean
|
#
beforeValidate( )
This method is invoked before validation starts. The default implementation
calls CModel::onBeforeValidate() to raise an event. You may override this method
to do preliminary checks before validation. Make sure the parent implementation
is invoked so that the event can be raised.
This method is invoked before validation starts. The default implementation
calls CModel::onBeforeValidate() to raise an event. You may override this method
to do preliminary checks before validation. Make sure the parent implementation
is invoked so that the event can be raised.
Returns
boolean whether validation should be executed. Defaults to true. If false is returned,
the validation will stop and the model is considered invalid.
|
protected
|
#
afterValidate( )
This method is invoked after validation ends. The default implementation
calls CModel::onAfterValidate() to raise an event. You may override this method to
do postprocessing after validation. Make sure the parent implementation is
invoked so that the event can be raised.
This method is invoked after validation ends. The default implementation
calls CModel::onAfterValidate() to raise an event. You may override this method to
do postprocessing after validation. Make sure the parent implementation is
invoked so that the event can be raised.
|
public
|
#
onAfterConstruct( CEvent $event )
This event is raised after the model instance is created by new operator.
This event is raised after the model instance is created by new operator.
Parameters
- $event
CEvent
$event the event parameter
|
public
|
#
onBeforeValidate( CModelEvent $event )
This event is raised before the validation is performed.
This event is raised before the validation is performed.
Parameters
|
public
|
#
onAfterValidate( CEvent $event )
This event is raised after the validation is performed.
This event is raised after the validation is performed.
Parameters
- $event
CEvent
$event the event parameter
|
public
CList
|
#
getValidatorList( )
Returns all the validators declared in the model. This method differs from
CModel::getValidators() in that the latter would only return the validators
applicable to the current scenario. Also, since this method return a
CList object, you may manipulate it by inserting or removing validators
(useful in behaviors). For example, <span
class="php-var">$model</span>->validatorList->add(<span
class="php-var">$newValidator</span>) . The change made to the
CList object will persist and reflect in the result of the next call of
CModel::getValidators() .
Returns all the validators declared in the model. This method differs from
CModel::getValidators() in that the latter would only return the validators
applicable to the current scenario. Also, since this method return a
CList object, you may manipulate it by inserting or removing validators
(useful in behaviors). For example, <span
class="php-var">$model</span>->validatorList->add(<span
class="php-var">$newValidator</span>) . The change made to the
CList object will persist and reflect in the result of the next call of
CModel::getValidators() .
Returns
CList
all the validators declared in the model.
Since
1.1.2
|
public
array
|
#
getValidators( string $attribute = null )
Returns the validators applicable to the current scenario.
Returns the validators applicable to the current scenario.
Parameters
- $attribute
string $attribute the name of the attribute whose validators should be returned. If
this is null, the validators for ALL attributes in the model will be returned.
Returns
array the validators applicable to the current scenario.
|
public
CList
|
#
createValidators( )
Creates validator objects based on the specification in CModel::rules() . This
method is mainly used internally.
Creates validator objects based on the specification in CModel::rules() . This
method is mainly used internally.
Returns
Throws
CException
if current class has an invalid validation rule
|
public
boolean
|
#
isAttributeRequired( string $attribute )
Returns a value indicating whether the attribute is required. This is
determined by checking if the attribute is associated with a CRequiredValidator validation rule in the current scenario.
Returns a value indicating whether the attribute is required. This is
determined by checking if the attribute is associated with a CRequiredValidator validation rule in the current scenario.
Parameters
- $attribute
string $attribute attribute name
Returns
boolean whether the attribute is required
|
public
boolean
|
#
isAttributeSafe( string $attribute )
Returns a value indicating whether the attribute is safe for massive
assignments.
Returns a value indicating whether the attribute is safe for massive
assignments.
Parameters
- $attribute
string $attribute attribute name
Returns
boolean whether the attribute is safe for massive assignments
Since
1.1
|
public
string
|
#
getAttributeLabel( string $attribute )
Returns the text label for the specified attribute.
Returns the text label for the specified attribute.
Parameters
- $attribute
string $attribute the attribute name
Returns
string the attribute label
See
|
public
boolean
|
#
hasErrors( string $attribute = null )
Returns a value indicating whether there is any validation error.
Returns a value indicating whether there is any validation error.
Parameters
- $attribute
string $attribute attribute name. Use null to check all attributes.
Returns
boolean whether there is any error.
|
public
array
|
#
getErrors( string $attribute = null )
Returns the errors for all attribute or a single attribute.
Returns the errors for all attribute or a single attribute.
Parameters
- $attribute
string $attribute attribute name. Use null to retrieve errors for all attributes.
Returns
array errors for all attributes or the specified attribute. Empty array is returned if
no error.
|
public
string
|
#
getError( string $attribute )
Returns the first error of the specified attribute.
Returns the first error of the specified attribute.
Parameters
- $attribute
string $attribute attribute name.
Returns
string the error message. Null is returned if no error.
|
public
|
#
addError( string $attribute, string $error )
Adds a new error to the specified attribute.
Adds a new error to the specified attribute.
Parameters
- $attribute
string $attribute attribute name
- $error
string $error new error message
|
public
|
#
addErrors( array $errors )
Adds a list of errors.
Parameters
- $errors
array $errors a list of errors. The array keys must be attribute names. The array
values should be error messages. If an attribute has multiple errors, these
errors must be given in terms of an array. You may use the result of CModel::getErrors() as the value for this parameter.
|
public
|
#
clearErrors( string $attribute = null )
Removes errors for all attributes or a single attribute.
Removes errors for all attributes or a single attribute.
Parameters
- $attribute
string $attribute attribute name. Use null to remove errors for all attribute.
|
public
string
|
#
generateAttributeLabel( string $name )
Generates a user friendly attribute label. This is done by replacing
underscores or dashes with blanks and changing the first letter of each word to
upper case. For example, 'department_name' or 'DepartmentName' becomes
'Department Name'.
Generates a user friendly attribute label. This is done by replacing
underscores or dashes with blanks and changing the first letter of each word to
upper case. For example, 'department_name' or 'DepartmentName' becomes
'Department Name'.
Parameters
- $name
string $name the column name
Returns
string the attribute label
|
public
array
|
#
getAttributes( array $names = null )
Returns all attribute values.
Returns all attribute values.
Parameters
- $names
array $names list of attributes whose value needs to be returned. Defaults to null,
meaning all attributes as listed in CModel::attributeNames() will be returned. If
it is an array, only the attributes in the array will be returned.
Returns
array attribute values (name=>value).
|
public
|
#
setAttributes( array $values, boolean $safeOnly = true )
Sets the attribute values in a massive way.
Sets the attribute values in a massive way.
Parameters
- $values
array $values attribute values (name=>value) to be set.
- $safeOnly
boolean $safeOnly whether the assignments should only be done to the safe attributes. A
safe attribute is one that is associated with a validation rule in the current
scenario.
See
|
public
|
#
unsetAttributes( array $names = null )
Sets the attributes to be null.
Sets the attributes to be null.
Parameters
- $names
array $names list of attributes to be set null. If this parameter is not given, all
attributes as specified by CModel::attributeNames() will have their values unset.
Since
1.1.3
|
public
|
#
onUnsafeAttribute( string $name, mixed $value )
This method is invoked when an unsafe attribute is being massively assigned.
The default implementation will log a warning message if YII_DEBUG is on. It
does nothing otherwise.
This method is invoked when an unsafe attribute is being massively assigned.
The default implementation will log a warning message if YII_DEBUG is on. It
does nothing otherwise.
Parameters
- $name
string $name the unsafe attribute name
- $value
mixed $value the attribute value
Since
1.1.1
|
public
string
|
#
getScenario( )
Returns the scenario that this model is used in.
Returns the scenario that this model is used in.
Scenario affects how validation is performed and which attributes can be
massively assigned.
A validation rule will be performed when calling CModel::validate() if its
'except' value does not contain current scenario value while 'on' option is not
set or contains the current scenario value.
And an attribute can be massively assigned if it is associated with a
validation rule for the current scenario. Note that an exception is the CUnsafeValidator unsafe validator which marks the associated attributes as
unsafe and not allowed to be massively assigned.
Returns
string the scenario that this model is in.
|
public
|
#
setScenario( string $value )
Sets the scenario for the model.
Sets the scenario for the model.
Parameters
- $value
string $value the scenario that this model is in.
See
|
public
array
|
#
getSafeAttributeNames( )
Returns the attribute names that are safe to be massively assigned. A safe
attribute is one that is associated with a validation rule in the current scenario.
Returns the attribute names that are safe to be massively assigned. A safe
attribute is one that is associated with a validation rule in the current scenario.
Returns
array safe attribute names
|
public
CMapIterator
|
#
getIterator( )
Returns an iterator for traversing the attributes in the model. This method
is required by the interface IteratorAggregate.
Returns an iterator for traversing the attributes in the model. This method
is required by the interface IteratorAggregate.
Returns
CMapIterator
an iterator for traversing the items in the list.
Implementation of
|
public
boolean
|
#
offsetExists( mixed $offset )
Returns whether there is an element at the specified offset. This method is
required by the interface ArrayAccess.
Returns whether there is an element at the specified offset. This method is
required by the interface ArrayAccess.
Parameters
- $offset
mixed $offset the offset to check on
Returns
boolean
Implementation of
|
public
mixed
|
#
offsetGet( integer $offset )
Returns the element at the specified offset. This method is required by the
interface ArrayAccess.
Returns the element at the specified offset. This method is required by the
interface ArrayAccess.
Parameters
- $offset
integer $offset the offset to retrieve element.
Returns
mixed the element at the offset, null if no element is found at the offset
Implementation of
|
public
|
#
offsetSet( integer $offset, mixed $item )
Sets the element at the specified offset. This method is required by the
interface ArrayAccess.
Sets the element at the specified offset. This method is required by the
interface ArrayAccess.
Parameters
- $offset
integer $offset the offset to set element
- $item
mixed $item the element value
Implementation of
|
public
|
#
offsetUnset( mixed $offset )
Unsets the element at the specified offset. This method is required by the
interface ArrayAccess.
Unsets the element at the specified offset. This method is required by the
interface ArrayAccess.
Parameters
- $offset
mixed $offset the offset to unset element
Implementation of
|