У мене виникає проблема з отриманням значення користувацької моделі для оновлення до NULL.
$model = Mage::getModel('custom/model')->load($id);
$model->setCustomValue(NULL);
$model->save();
Цей код не оновлює поле custom_valueв базі даних, а значення бази даних приймає значення NULL (Вручну встановлення NULL в базі даних працює нормально).
EDIT:
Оскільки Тім зазначає нижче, використовуючи Zend_Db_Expr("NULL")значення, встановити нульове значення, чи може хто-небудь пояснити, чому це потрібно в Magento, а не просто php NULL?
просто спробуйте $ model-> setCustomValue ("");
—
Муфаддал
Тип поля таблиці є,
—
Викликати
doubleі я спробував інші числові типи, такі як decimalі робити, $model->setCustomValue("");встановлює значення на0
Як щодо
—
user487772
$null = new Zend_Db_Expr("NULL");?
@Invoke, щоб відповісти на вашу відповідь, якщо ви встановите лише значення "NULL", Magento подумає лише, що ви не хочете оновлювати значення. Як запропонував Тім, вам потрібно вказати, що це база даних "NULL", яку ви хочете встановити.
—
Майєрс
Спасибі @ mayers-dev, цікава поведінка. Я думаю, що він був розроблений як застереження про вихід, якщо вам потрібно скасувати намічене оновлення, при цьому генеруючи саме значення.
—
Викликати