この投稿で説明されている同様の問題がありますが、提供されたソリューションは私の場合は機能しません。これが問題です...
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 値は、これらのデフォルト値を上書きします。
挿入時に特定のフィールドを無視するように教義を取得する方法はありますか?