Default value in Doctrine Default value in Doctrine php php

Default value in Doctrine


<?php/** * @Entity */class myEntity {    /**     * @var string     *     * @ORM\Column(name="myColumn", type="integer", options={"default" : 0})     */    private $myColumn;    ...}

Note that this uses SQL DEFAULT, which is not supported for some fields like BLOB and TEXT.


Database default values are not "portably" supported. The only way to use database default values is through the columnDefinition mapping attribute where you specify the SQL snippet (DEFAULT cause inclusive) for the column the field is mapped to.

You can use:

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

PHP-level default values are preferred as these are also properly available on newly created and persisted objects (Doctrine will not go back to the database after persisting a new object to get the default values).


Set up a constructor in your entity and set the default value there.