1. ホーム
  2. php

[解決済み] Doctrineのデフォルト値

2022-03-14 06:27:48

質問

Doctrine 2 でデフォルト値を設定するには?

解決方法は?

データベースのデフォルト値は、移植可能な形でサポートされていません。データベースのデフォルト値を使用する唯一の方法は columnDefinition マッピング属性で SQL のスニペット( DEFAULT は、そのフィールドがマッピングされるカラムのための包括的なものであることを意味します。

使用することができます。

<?php
/**
 * @Entity
 */
class myEntity {
    /**
     * @var string
     *
     * @Column(name="myColumn", type="string", length="50")
     */
    private $myColumn = 'myDefaultValue';
    ...
}

PHP レベルのデフォルト値は新しく作成され永続化されたオブジェクトでも適切に利用できるので好ましい (Doctrine は新しいオブジェクトを永続化した後でデフォルト値を取得するためにデータベースに戻ることはない)。