2

0CakePHP 1.3 を使用フォームフィールドに何も書かれていない場合、フィールドの値を保存したいと思います。最善の方法は、MySQL だけで実行することですが、成功しません。私は設定しようとしました:

Null=noDefault= 0; またはNull=yesおよびDefault= 0;

また、どちらの組み合わせも、beforeSaveまたはに設定する CakePHP Behavior と組み合わせbeforeValidateます。

$model->data[$name][$field] = 0; また unset($model->data[$name][$field]);

また:

Null=yesDefault= 0; またはNull=yesおよびDefault= NULL;

常にクエリは次のとおりです。

 INSERT INTO `table` (`zero_field`, `other_fields`) VALUES (NULL, 'other_data')
 or
 INSERT INTO `table` (`zero_field`, `other_fields`) VALUES ('', 'other_data')

そして、もしNull=noエラーが発生した場合:Column 'zero_field' cannot be null

フィールドの設定を解除しても、フィールドが内部にあるクエリを取得します。

0フォームに値が設定されていないか空の場合、データベースに値を保存するにはどうすればよいですか?

zero_fieldは_int(11)

4

1 に答える 1

0
  1. データベースのフィールドにnull =いいえ、デフォルト= 0を設定します
  2. app/tmp/cache/models/* のモデル キャッシュ ファイルをクリアします。
  3. 新しいレコードを保存する前に必ず Model->create() を使用して、保存する新しいレコードにデフォルト値を入力してください。
  4. 保存して勝ちます。
于 2012-11-19T12:19:11.893 に答える