【问题标题】:Yii2: Setting default values for all fields of a modelYii2:为模型的所有字段设置默认值
【发布时间】:2017-06-15 23:16:49
【问题描述】:

我正在尝试找到一种方法来为 Yii2 中的任何字段(未由用户输入填充)设置默认值,以避免出现“不能为 NULL”的数据库异常。

有什么办法可以做到吗?

干杯。

【问题讨论】:

    标签: php mysql activerecord model yii2


    【解决方案1】:

    Yii2 Default Validator - 在模型验证规则中传递所有属性,您希望将其填充为默认值,例如:

    [['attribute', 'second_attribute'], 'default', 'value' => 'something_here'],
    

    【讨论】:

      【解决方案2】:

      您可以将默认值添加到模型数据库表中

      在创建模型实例时使用 loadDefaultValues()

      $model = new Post();
      $model->loadDefaultValues();
      

      【讨论】:

      • loadDefaultValues() 用于从 db 加载默认值,如果 batabase 中没有默认值甚至不是 null,则会出现“不能为空”错误
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多