Bonjour,
voila j'ai une table (fiche) qui est créée par quelqu'un et peu être modifier par d'autres personnes,
j'ai un champ created_by_id pour savoir qui la créée et un champ updated_by_id pour savoir qui est le dernier à l'avoir modifier
j'utilise le plugin sfGuardSecurityUser sur mon module backend et donc j'aimerai récupérer la personne connecté pour remplir ces champs
je ne sais pas comment transmettre l'information de l'id récupéré dans le backend vers le modele doctrine (pour modifier la fonction save)
par ailleurs je ne sais pas comment changer cette fonction proporement.
pour l'instant dans save j'ai :
J'ai aussi un autre problème qui va m'arriver bientot, je souhaite garder un historique des modifications de mes fiches (donc creations d'une table presque identique pour stocker les anciennes données) => avant de passer à symfony j'utilisai un trigger directement dans la bd, symfony permet t'il de créer des trigger? si non je le ferai manuellement (mais du coup à refaire à chaque fois que j'utilise "build")
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 public function save(Doctrine_Connection $conn = null) { $conn = $conn ? $conn : JobeetJobTable::getConnection(); //vu sur différents sites et d'autres ne l'utilise pas, mais je n'ai vu aucune explication sur l'utilité $conn->beginTransaction(); //idem try { if($this->isNew()) $this->setCreatedById('1'); // j'ai mis 1 pour l'instant mais c'est cette valeur qui doit être modifiée else $this->setUpdatedById('1'); //idem $ret = parent::save($conn); $conn->commit(); // pareil que pour la première ligne je ne sais pas trop pourquoi l'utiliser return $ret; } catch (Exception $e) //idem { $conn->rollBack(); throw $e; } }
Partager