I cannot figure out why setting the default value for me does not work.
Here is my controller:
class QueryController extends ActiveController { public $modelClass = 'app\models\Query'; public $createScenario = 'restCreate'; public $updateScenario = 'restUpdate';
I do not override the default createAction .
Model:
class Query extends ActiveRecord {public function rules() { return [ [['userId', 'name', 'created', 'isOneTime', 'isArchived', 'settings', 'engine'], 'required'], [['userId'], 'integer'], [['name', 'settings', 'schedule'], 'string'], [['created', 'lastUpdate'], 'safe'], [['isOneTime', 'isArchived', 'isApi', 'valid'], 'boolean'], [['state', 'engine'], 'string', 'max' => 160], [['isApi'], 'default', 'value'=> false], [['isApi'], 'default', 'value'=> true, 'on' => 'restCreate'] ]; } public function scenarios() { $scenarios = parent::scenarios(); $scenarios['restCreate'] = ['name', 'state', 'isApi', 'isOneTime', 'settings', 'schedule']; $scenarios['restUpdate'] = ['name', 'state', 'isOneTime', 'settings', 'schedule' ]; return $scenarios; }
When I create a new record through the Rest controller, it should set isApi = true by default, but it does not work that way. How to assign default model values ββdepending on the scenario?