48 votes

Doctrine 2.1 - Valeur par défaut de la colonne datetime

Quelqu’un pourrait-il me dire comment ajouter une valeur par défaut à la colonne datetime ? Je ne peux pas faire ceci comme ça:

Alors comment ?

90voto

sanis Points 1159

Pour les CURRENT_TIMESTAMP de valeur par défaut :

Ou pour les anciennes versions de Symfony :

Travaillé pour moi... Cependant, cela ne fonctionne qu’avec MySQL.

57voto

Vous pouvez également utiliser les rappels du cycle de vie si vous voulez être très précis :

56voto

Max Points 6216

Vous mappez votre propriété en tant que type DateTime, puis définissez la valeur dans le constructeur à l’aide d’une nouvelle instance DateTime :

Cela fonctionne car le constructeur d’une classe persistante n’est pas appelé à l’hydratation.

23voto

D.Samchuk Points 662

Je pense que la meilleure façon d’accomplir le remplissage automatique `` est de faire comme ça:

Mettre la logique dans le constructeur n’est pas la bonne solution, car la définition de valeurs par défaut relève de la responsabilité du client SQL. Si vous décidez de ne plus utiliser ORM, vous perdrez la logique métier. De plus, si vous utilisez le constructeur, vous ne pourrez pas ajouter d’horodatages par défaut aux `` attributs des lignes existantes.

22voto

rat4m3n Points 1151

Il y a une extension pour cela automatisant cette...

https://github.com/l3pp4rd/DoctrineExtensions/blob/master/doc/timestampable.md

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X