У меня есть модель MyEntity.php. В рамках сценария модели определены некоторые правила и сценарии:
public function rules()
{
return [
[['myentity_id', 'myentity_title', 'myentity_content', 'myentity_date'], 'required'],
[['myentity_id'], 'integer'],
[['myentity_title', 'myentity_content'], 'string', 'max' => 120],
[['myentity_date'], 'safe'],
];
}
public function scenarios()
{
$scenarios = parent::scenarios();
$scenarios['scenario_one'] = ['myentity_id', 'myentity_title'];
$scenarios['scenario_two'] = ['myentity_id', 'myentity_content'];
return $scenarios;
}
Мне нужно иметь возможность иметь разные сценарии, и для разных действий должны быть активны только определенные проверки (по параметрам). Например, сценарий_один для действияОдин, сценарий_два для действияДва и т. д.
Вот небольшая часть кода из контроллера:
public function actionOne($id)
{
$modelMyEntity = $this->findModel($id);
$modelMyEntity->scenario = 'scenario_one';
.
.
.
}
public function actionTwo($id)
{
$modelMyEntity = $this->findModel($id);
$modelMyEntity->scenario = 'scenario_two';
.
.
.
}
Теперь я хочу иметь сценарий_3, в котором вообще НЕ должно быть никаких проверок. У меня будут дополнительные проверки в коде, которые предотвратят сбой при сохранении в базе данных. Мне просто нужно убедиться, что никакие проверки не применяются, потому что это препятствует отправке моей формы. Если я не применяю какой-либо сценарий, то применяется сценарий по умолчанию (все перечисленные проверки будут активны, что полностью противоположно тому сценарию, который мне нужен).