2

我有一段非常简单的代码:

$dropOrder = new DropOrder($dropOrderId);
$dropOrder->is_supplier_paid = $payValue;
$dropOrder->save();

它工作并将“is_supplier_paid”字段值保存到数据库中。但它也会执行意外操作并将所有空值字段填充为 0 值。

我尝试像这样保存它:

$dropOrder->save(true);

但我仍然有同样的奇怪行为。我只想更改一个字段,不要碰其他字段。

4

2 回答 2

4

值在插入/更新之前由ObjectModel::formatValue()格式化,基于$definition中声明的字段类型。

您必须使用TYPE_NOTHING来允许NULL值,这是唯一的方法。

查看Configuration类,其中包含id_shopid_group_shop字段。

于 2013-11-15T14:02:12.597 回答
0

PrestaShop 1.7:

我在 PS 1.7 中遇到了同样的问题,设置 TYPE_NOTHING 不足以解决这个问题。在我的情况下,我还需要在字段的定义中allow_null添加true

'my_field' => ['type' => self::TYPE_NOTHING, 'allow_null' => true, 'value' => null]

'value' => null可能没有必要,但建议)

于 2021-01-28T16:07:02.317 回答