Tôi gặp sự cố khi nhận giá trị của mô hình tùy chỉnh để cập nhật lên NULL.
$model = Mage::getModel('custom/model')->load($id);
$model->setCustomValue(NULL);
$model->save();
Mã này không cập nhật trường custom_value
trong cơ sở dữ liệu và giá trị cơ sở dữ liệu chấp nhận giá trị NULL (Cài đặt thủ công NULL trong cơ sở dữ liệu hoạt động tốt).
EDIT:
Như Tim đề cập bên dưới bằng cách sử dụng Zend_Db_Expr("NULL")
không đặt giá trị thành null, bất kỳ ai cũng có thể giải thích tại sao điều này là bắt buộc trong Magento và không chỉ đơn giản là một php NULL
?
chỉ cần thử $ model-> setCustomValue ("");
—
Mufaddal
Loại trường của bảng là
—
Gọi
double
và tôi đã thử các kiểu số khác như decimal
và thực hiện $model->setCustomValue("");
đặt giá trị thành0
Thế còn
—
dùng487772
$null = new Zend_Db_Expr("NULL");
?
@Invoke, để trả lời câu trả lời của bạn, nếu bạn chỉ đặt nó thành "NULL" Magento sẽ chỉ nghĩ rằng bạn không muốn cập nhật giá trị. Như Tim đã đề xuất, bạn cần xác định rằng đó là cơ sở dữ liệu "NULL" mà bạn muốn đặt.
—
Mayers
Cảm ơn @ mayers-dev, hành vi thú vị. Tôi đoán nó được thiết kế như một mệnh đề get-out nên bạn cần hủy bản cập nhật dự định trong khi tự tạo giá trị.
—
Gọi