gpt4 book ai didi

php - 使 Yii Dropdown 默认值为 NULL

转载 作者:太空宇宙 更新时间:2023-11-03 10:51:57 28 4
gpt4 key购买 nike

我在使用 CActiveForm->dropDownList 创建的 Yii 表单中有一个下拉列表。

我使用数组('empty'=>'Please select one')作为在未选择任何内容时设置值的方式。

该字段被约束到另一个表,但它被设置为允许NULL。当 Yii 显示 MySQL 错误时,它说:

integrity constraint violation: 1452 Cannot add or update a child row: a foreign
key constraint fails (`imi_sales`.`ss_project`, CONSTRAINT
`fk_project_product_type` FOREIGN KEY (`product_type_id`) REFERENCES
`ss_product_type` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION)

它还表明插入到 ss_project.product_type_id 中的值是 ''。如果我将 SQL 复制出来并将其更改为 NULL,它就可以工作。我怎样才能让 Yii 将它设置为 NULL?

最佳答案

beforeSave()方法中加入如下代码:

public function beforeSave(){
if(parent::beforeSave()){
if(empty($this->product_type_id)) {$this->product_type_id=NULL;}
return true;
}
}

由此,您在保存新记录之前告诉 Yii,检查 product_type_id 值是否为空('')。如果是,将其设置为 NULL

关于php - 使 Yii Dropdown 默认值为 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24068118/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com