//模型中定義
public function scenarios()
{
$scenarios = parent::scenarios();
$scenarios['housesModel'] = ['id']; //新場景用於houses提交表單
return $scenarios;
}
//控制器中使用
$model = $this->findModel($id);
$estateModel = new Estate;
$estateModel->setScenario('housesModel'); //加載使用場景
利用不同場景的切換,就可以實現不同表單中,對於其他模型屬性的required設置,且不改變該模型本身的rules。