一. 默认情况下模型的场景是由rules()
方法申明的验证规则中使用到的场景决定的,也可以通过覆盖scenarios()
方法来更具体地定义模型的所有场景,例如:
在model文件定义:
其中键为场景名称,值为该场景下使用的模型属性(称为活动属性)。
public function scenarios()
{
return [
'video' => ['question', 'answer','analysis'],
];
}
二. 控制器端指定模型场景有以下两种方法:
1.$model = new Question(['scenario' => 'video']);
2.$model = new Question();
$model->scenario = 'video';
三.rule方法定义验证规则
public
function
rules() {
return
[
[['question', 'answer','analysis'], 'required', 'on' => 'video'],
];
}
四. 实现结果
五。如果与其他地方产生冲突及解决
解决: