Есть модель Order с таким правилом валидации
public function rules()
{
return [
[['user_id', 'city_id', 'payment',], 'required'],
['street', 'required', 'message' => 'Укажите название улицы.'],
['house', 'required', 'message' => 'Укажите номер дома.'],
['flat', 'required', 'message' => 'Укажите номер квартиры.'],
...
}
Есть необходимость оформить заказы без доставки и вот теперь вопрос можно ли использовать так
const SCENARIO_NOT_DELIVERY = 'notDelivery'
public function scenarios()
{
return [
self::SCENARIO_NOT_DELIVER => ['user_id', 'city_id'],
];
}
и потом где надо
$model = new Order(['scenario' => User::SCENARIO_NOT_DELIVER]);
а где не надо
$model = new Order(
)
вот так объявлено
const SCENARIO_NOT_DELIVERY = 'notDelivery';
public function scenarios()
{
return [
self::SCENARIO_NOT_DELIVERY => ['user_id', 'payment'],
];
}
вот так вызываю
if($dilivery['delivery']==0){
$order = new Order(['scenario' => Order::SCENARIO_NOT_DELIVERY]);
$order->delivery=0;
$order->city_id=Yii::$app->params['cities'];
}else{
$order = new Order();
}
получаю
Unknown scenario: default