在Yii2中,我有ActiveForm
复选框字段。在mysql数据库中,tinyint(1)
列可以是NULL
。
我需要取消选中复选框(false
值)才能在数据库中保存为NULL
。目前,当取消选中复选框时,它会保存为(int) 0
。
将false
值保存为NULL
的正确方法是什么?
以下是模型:
class ProductToProductCategory extends ActiveRecord {
public function rules()
{
return [
['product_category_id', 'required'],
['product_category_id', 'integer'],
['is_main', 'boolean'],
];
}
}
以下是观点:
<?= $form->field($model, "is_main")->checkbox() ?>
答案 0 :(得分:1)
从未尝试过,但你应该能够实现保存模型的beforeSave方法。
$("#item1").css("display", "none");
$("#item2").css("display", "none");
答案 1 :(得分:1)
public function rules()
{
return [
['product_category_id', 'required'],
['product_category_id', 'integer'],
['is_main', 'boolean'],
['is_main', 'filter', function ($value) {
// return value you need
return $value ?: null;
}, 'skipOnError' => true],
];
}
答案 2 :(得分:-1)
只需通过取消选中选项
libssl.so.1.0.0