Özel bir modelin değerini NULL olarak güncellemek için bir sorunla karşılaşıyorum.
$model = Mage::getModel('custom/model')->load($id);
$model->setCustomValue(NULL);
$model->save();
Bu kod custom_value
, veritabanındaki alanı güncelleştirmez ve veritabanı değeri NULL değerleri kabul eder (Veritabanında el ile NULL ayarı iyi çalışır).
DÜZENLEME:
Tim, aşağıdaki kullanımda bahsedildiği gibi Zend_Db_Expr("NULL")
, değeri null olarak ayarladığından, herkes bunun neden sadece bir php değil, Magento'da gerekli olduğunu açıklayabilir NULL
mi?
sadece $ model-> setCustomValue ("") 'i deneyin;
—
Mufaddal
Tablo alanının türüdür
—
Invoke
double
ve ben gibi diğer sayısal türlerini denemiş decimal
ve yapıyor $model->setCustomValue("");
olarak belirler değeri0
Nasıl
—
user487772
$null = new Zend_Db_Expr("NULL");
?
@Invoke, cevabınıza cevap vermek için, sadece "NULL" olarak ayarladıysanız Magento sadece değeri güncellemek istemediğinizi düşünecektir. Tim'in önerdiği gibi, ayarlamak istediğiniz veritabanı "NULL" olduğunu belirtmeniz gerekir.
—
Mayers
Teşekkürler @ mayers-dev, ilginç davranış. Değerin kendisini oluştururken amaçlanan güncellemeyi iptal etmeniz gerektiğinde bir get-cümlesi olarak tasarlandı sanırım.
—
çağırır