DB中的Prestashop和null字段

时间:2013-11-14 20:11:26

标签: prestashop prestashop-1.5

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

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

它可以工作并将'is_supplier_paid'字段值保存到数据库中。但它也会执行意外操作,并使用0值填充所有空值字段。

我试着像这样保存它:

$dropOrder->save(true);

但我仍然有同样的奇怪行为。我想只改变一个字段而不要触及其他字段。

2 个答案:

答案 0 :(得分:4)

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

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

使用 id_shop id_group_shop 字段查看配置课程。

答案 1 :(得分: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 可能不是必需的,但建议使用)