2

NULL 値を持つ INT である 1 つの列を更新したいと考えています。saveField('field', 'value') メソッドで CakePHP 2.3 を使用しています。

これが私のコードです:

$this->Customer->id = $customer_id;
if ($this->Customer->saveField('account_id', 'NULL')) {
     //Do some stuff
}

したがって、「NULL」を入力すると、行は 0 に更新されます。引用符なしで NULL を試しましたが、行は更新されません。

EDIT : データベースのフィールドは NULL 値を受け入れます。

何か考えはありますか?

ありがとう

4

2 に答える 2

3

'NULL'文字列ではなく、null値として渡します。

if($this->Customer->saveField('account_id', null))
{
  //do some stuff
}
else
{
  //do you get anything here ?
  debug($this->Customer->validationErrors);
}
于 2012-11-29T17:25:41.397 に答える
1

保存を妨げる検証があったアップロード動作が原因で、同様の問題が発生しました。モデルを確認してください。役立つ場合があります。検証ルールが保存を妨げている場合でも、saveField が true を返すと仮定します。

于 2013-07-02T14:24:27.470 に答える