カスタムモデルの値をNULLに更新する際に問題が発生します。
$model = Mage::getModel('custom/model')->load($id);
$model->setCustomValue(NULL);
$model->save();
このコードはcustom_value
データベースのフィールドを更新せず、データベースの値はNULL値を受け入れます(データベースにNULLを手動で設定すると正常に機能します)。
編集:
Timが以下を使用Zend_Db_Expr("NULL")
して値をnullに設定すると述べているように、これが単にphpではなくMagentoで必要な理由を誰かが説明できNULL
ますか?
$ model-> setCustomValue( "");を試してください。
—
Mufaddal 14
テーブルフィールドのタイプは次のとおりです。
—
呼び出す
double
他の数値タイプを試してみdecimal
て$model->setCustomValue("");
、値を次のように設定します0
いかが
—
user487772 14
$null = new Zend_Db_Expr("NULL");
ですか?
@Invoke、回答に返信するには、「NULL」に設定するだけの場合、Magentoは値を更新したくないと考えるだけです。Timが提案したように、設定するのはデータベース「NULL」であることを指定する必要があります。
—
Mayers
@ mayers-dev、興味深い行動に感謝します。値自体を生成している間に意図した更新をキャンセルする必要がある場合、それはget-out-clauseとして設計されたと思います。
—
呼び出す