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_valueno 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?
tente $ model-> setCustomValue ("");
—
Mufaddal
O tipo do campo da tabela é
—
Invoque
doublee eu tentei outros tipos numéricos como decimale doing $model->setCustomValue("");define o valor para0
Que tal
—
precisa saber é o seguinte
$null = new Zend_Db_Expr("NULL");?
@ Invoque, para responder à sua resposta, se você o definir apenas como "NULL", o Magento pensará que você não deseja atualizar o valor. Como Tim sugeriu, você precisa especificar que é o banco de dados "NULL" que deseja definir.
—
Mayers
Obrigado @ mayers-dev, comportamento interessante. Eu acho que ele foi projetado como uma cláusula de saída, caso você precise cancelar a atualização pretendida enquanto gera o valor em si.
—
Invoque