Comment définir les propriétés dynamiques par défaut sur les objets CF9 ORM?Propriété dynamique par défaut dans CF9 ORM
Par exemple, je sais que je peux définir une valeur par défaut de la propriété comme ceci:
property name="isActive" default="1";
Mais si vous voulez avoir un défaut généré dynamiquement, comme une date ou un UUID?
property name="uuid" default="#createUUID()#";
... renvoie une erreur - alors, quelle est la solution pour cela?
Cela fonctionne très bien pour les nouvelles entités, mais est écrasé par tout ce qui est chargé à partir de la base de données (même s'il s'agit d'une valeur vide). Cependant, comme je construis cette application à partir de zéro, sans données héritées, je peux être sûr que chaque entrée dans la base de données des utilisateurs sera créée avec cette valeur par défaut. (Dans votre code ci-dessus, les besoins fonction init() « return this; ». Ajouté à la fin) Merci, Seb – sebduggan
Si vous voulez seulement exécuter ce code pour une nouvelle entité, vous pouvez toujours vérifier le id de l'entité if (isNull (getId()) {} –
une alternative serait d'affecter uuid @ preInsert – Henry