您可以使用className属性为其他类指定.. 文件:the ActiveRecord class name that should be used to look for the attribute value being validated. Defaults to null, meaning using the class of the object currently being validated. You may use path alias to reference a class name here. 让我们在两个模型中使用一个名为common_attr的属性:
class Model1 extends CActiveRecord{
public function rules(){
array('common_attr', 'unique', 'className'=> 'Model1'),
array('common_attr', 'unique', 'className'=> 'Model2'),
}
}
class Model2 extends CActiveRecord{
public function rules(){
array('common_attr', 'unique', 'className'=> 'Model1'),
array('common_attr', 'unique', 'className'=> 'Model2'),
}
}
文件:criteria property public array $criteria; additional query criteria. This will be combined with the condition that checks if the attribute value exists in the corresponding table column. This array will be used to instantiate a CDbCriteria object.
class Model1 extends CActiveRecord{
public function rules(){
array('common_attr', 'unique', 'caseSensitive'=>false,
'criteria'=>array(
'join'=>'LEFT JOIN model2 ON model2.common_attr=model1.common_attr',
'condition'=>'model2.common_attr=model1.common_attr',
)),
}
}
2条答案
按热度按时间7uhlpewt1#
您可以使用className属性为其他类指定..
文件:
the ActiveRecord class name that should be used to look for the attribute value being validated. Defaults to null, meaning using the class of the object currently being validated. You may use path alias to reference a class name here.
让我们在两个模型中使用一个名为common_attr的属性:
**若要检查多个表的
combined key
验证,您可以使用CUniqueValidator的criteria属性..**无需任何扩展文件:
criteria property public array $criteria; additional query criteria. This will be combined with the condition that checks if the attribute value exists in the corresponding table column. This array will be used to instantiate a CDbCriteria object.
yeotifhr2#
在一2
简短:
详细信息:
此外,还可以将多个唯一键与targetAttribute一起使用: