Estou tendo um problema ao obter o valor de um modelo personalizado para atualizar para NULL.
$model = Mage::getModel('custom/model')->load($id);
$model->setCustomValue(NULL);
$model->save();
Esse código não atualiza o campo custom_value
no banco de dados e o valor do banco de dados aceita valores NULL (a configuração manual de NULL no banco de dados funciona bem).
EDIT:
Como Tim menciona abaixo o uso Zend_Db_Expr("NULL")
define o valor como nulo, alguém poderia explicar por que isso é necessário no Magento e não apenas um php NULL
?
magento-1.7
magento-1.8
Invocar
fonte
fonte
double
e eu tentei outros tipos numéricos comodecimal
e doing$model->setCustomValue("");
define o valor para0
$null = new Zend_Db_Expr("NULL");
?Respostas:
Isso é, como tantas vezes um problema
isset()
vsarray_key_exists()
, quando vejo isso corretamente.Eu não tentei, mas da leitura de código eu diria que o valor é verificado aqui:
e como
isset
retorna false em uma chave de matriz definidaNULL
, seu valor é substituído.fonte