Bonjour,
Je pense que c'est un problème relativement classique mais je n'arrive pas à trouver la "best practice" associée.
Dans un model j'ai le code suivant:
L'id de l'objet est fixé par l'auto increment de la base de donnée MySQL.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $userExercice = new Application_Model_UserExercice(); $userExercice->setUserId($userId) ->setCurrentQuestionId($questionsId[0]) ->setTotalNumberOfQuestions(count($questionsId)); $userExercice->save();
Au sein de la même fonction je dois récupérer l'id de cet objet. Normalement j'aurais utilisé:
Code : Sélectionner tout - Visualiser dans une fenêtre à part $userExercice->getId();Mais l'id n'a jamais été défini pour cet objet.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public function getId() { return $this->_id; }
Il y a-t-il une autre façon d'obtenir cet id sans avoir à chercher l'enregistrement dans la base de données?
D'autre part, les attributs que je définis (userId, currentQuestionId, totalNumberOfQuestion) ne sont pas suffisant pour retrouver l'enregistrement dans la base de donnée. Donc cette option n'est pas envisageable.
J'ai pensé à l'option "retirer l'auto increment" et le gérer à partir de zend mais j'aimerais éviter si il y a une méthode plus propre.
Partager