2

自動および操作のGedmo\Timestampable注釈を使用する Symfony 2.8 アプリを持っていますが、エンティティ/行が最初に作成されたときに同じタイムスタンプを列に入れているようです。Anにより、列に新しいタイムスタンプが表示されますが、最初はこれを空白にしたいです。created_atupdated_atupdated_atUPDATEupdated_at

私の理解では、INSERTでは、列のみにcreated_atタイムスタンプを入力する必要があり、updated_atは更新されていないため、空白のままにする必要があります。列の最初の更新後にのみ、更新時間の値を取得する必要があります。

これを期待するのは正しいですか?私のコード/設定に何か問題がありますか? それとも、この注釈は実際に設計により両方の列の値を設定しますか?

私のconfig.yml

...
stof_doctrine_extensions:
    default_locale: "%locale%"
    translation_fallback: true
    orm:
        default:
            translatable: true
            timestampable: true
...

私のエンティティ:

...
/**
 * An automatic timestamp of the creation.
 *
 * @var \DateTime $createdAt
 * @Gedmo\Timestampable(on="create")
 * @ORM\Column(name="created_at", type="datetime")
 */
public $createdAt;

/**
 * An automatic timestamp of the updation. 
 *
 * @var \DateTime $updatedAt
 * @Gedmo\Timestampable(on="update")
 * @ORM\Column(name="updated_at", type="datetime")
 */
protected $updatedAt;
...

この表では、2 つの列を として定義しDATETIMEており、デフォルト句はありません。

4

1 に答える 1