2

この投稿で説明されている同様の問題がありますが、提供されたソリューションは私の場合は機能しません。これが問題です...

ORMにDoctrine2を使用するSymfony2を使用して、新しいユーザーをデータベースに挿入しています。オブジェクト メソッドを使用してユーザーを挿入すると、何も挿入したくないフィールドに null 値が挿入されます (したがって、既定値が挿入されます)。

これは、生成された INSERT ステートメントを次のように表示する方法です。

INSERT into mytable (name) VALUES (?)
array(1) {
  [1]=>
  string(6) "myName"
}

これが Doctrine が INSERT ステートメントを作成する方法です

INSERT into mytable (name, token, creationDate) VALUES (?,?,?)
array(3) {
  [1]=>
  string(6) "myName"
  [2]=>
  NULL
  [3]=>
  NULL
}

トークンには、postgresql の uuid_generate_v5 メソッドを使用して定義されたデフォルト値が必要です。creationDate のデフォルトは now() である必要があります。doctrine が挿入する NULL 値は、これらのデフォルト値を上書きします。

挿入時に特定のフィールドを無視するように教義を取得する方法はありますか?

4

1 に答える 1