|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : décembre 2010 Messages : 24 ![]() |
Bonjour,
je voudrais redéfinir mon model pour que lorsque il sauvegarde mes données il utilise une fonction qui calcul un id |
|
|
00
|
|
|
#2 | ||
|
Membre confirmé
![]() ![]() Vivian PennelDeveloppeur Symfony | JSF/Seam Inscription : août 2004 Messages : 173 ![]() |
En supposant que tu utilises doctrine, un exemple de champ id en clef primaire :
A mettre dans la section "columns" de ta table Code :
PS : si tu ne définis pas de clef primaire sur une table, par défaut doctrine va créer un champ id autoincrement.
__________________
Mon blog : http://blog.developpez.com/vivian-pennel/ |
||
|
00
|
|
|
#3 | ||
|
Invité régulier
![]() Inscription : décembre 2010 Messages : 24 ![]() |
Effectivement j'utilise doctrine mon schema est bon
Code :
je sélectionne le dernier id je lui ajoute +1 (pour simplifié) la requête je l'ai mais je sais pas comment l’implémenté pour que a chaque sauvegarde en base ca soit exécuté |
||
|
|
00
|
|
|
#4 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Il faut travailler dans le modèle.
Tu dois créer une méthode getId qui te retourne ton id (return parent::__get('Id') Une méthode setId qui génère une erreur. Une méthode preSave qui va vérifier que l'enregistrement est en création (isNew) et calcul le numéro d'Id. Il l'implante ensuite (parent::__set('Id', $valeurDeId) ) Suivant le cas, tu peux aussi envisager de faire un triger sur ta base, mais c'est une autre histoire.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
10
|
|
|
#5 |
|
Invité régulier
![]() Inscription : décembre 2010 Messages : 24 ![]() |
Merci pour ta réponse y aurait pas un lien détaillant un peux tout cela ? :p
|
|
|
00
|
|
|
#6 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
A ma connaissance non.
Expérience acquise en développant un module un brin tordu... Je t'ai mis les méthodes qui devraient te servir. Note, en cherchant, tu vas trouver des informations sur la surcharge de la méthode save. Je me demande si on n'en parle pas dans Jobeet. Je n'ai pas de raccourcis sous la main pour cela.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
Copyright © 2000-2012 - www.developpez.com