gpt4 book ai didi

php - 无法在 Yii2 中使用 dropDownList 取消设置外键值

转载 作者:行者123 更新时间:2023-11-28 23:48:06 26 4
gpt4 key购买 nike

我有一个带有以下代码的 Yii2 表单 View 。

<?= $form->field($model, 'field1')->dropDownList(ArrayHelper::map($fieldList, 'id', 'label'), ['prompt' => '']) ?>
上面的

field1实际上是MySQL表中的一个VARCHAR,可为NULL的外键。如果我取消设置我的选择,选择空白选项并保存,我会收到外键完整性错误。

基本上,Yii2 试图将行更新为 '' 而不是 NULL。我该如何解决上述情况?

我还尝试使用 array_merge 而不是 ['prompt' => ''] 来添加一个带有 NULL 值的空白字段,但仍然没有任何乐趣。

编辑:我最终检查了 Controller 中的空白,但理想情况下我不应该这样做。这是错误还是我做错了什么?

$loaded = $model->load(Yii::$app->request->post());

if ($model->field1 == '')
$model->field1 = null;

if ($loaded && $model->save()) {
}

最佳答案

您是否尝试将此添加到您的模型规则中?:

public function rules()
{
return [
....
[['field1'], 'default'], // set "field1" as null if they are empty
];
}

您的约束错误也看起来像您的相关表中的字段 1 无法设置为空。

关于php - 无法在 Yii2 中使用 dropDownList 取消设置外键值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33168542/

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