Php 如果插入时未选择值,则设置默认值

Php 如果插入时未选择值,则设置默认值,php,yii,Php,Yii,这是我的模型 public function rules() { return [ ['created_by, updated_by, update_note,institution_code', 'safe' ], ['institution_code', 'default', 'value' => Yii::app()->user->getState('institutio

这是我的模型

 public function rules()
    {
        return [
            ['created_by, updated_by, update_note,institution_code', 'safe' ],
            ['institution_code', 'default', 
             'value' => Yii::app()->user->getState('institution_code'),
             'setOnEmpty' => FALSE, 
             'on' => 'insert' 
           ],
       ];
    }

如果选择了机构代码,则保存该值

只需更改setOnEmpty TRUE即可

[ 'institution_code', 'default', 'value'      => Yii::app()->user->getState('institution_code'),
                    'setOnEmpty'                                => TRUE, 'on' => 'insert' ],

你的问题是什么?模型不应该与会话一起工作,也不应该请求数据。您应该手动设置
Yii::app()->user->getState('institution_code')
如果选中,我想保存机构代码,否则保存会话值您使用什么版本?Yii还是Yii2?当您为1个版本和标签调用
Yii::app()
时,您还有2个。在使用之前,您必须在会话中设置
institution\u code