Génération des fonction set dans classes model
Bonjour,
J'utilise doctrine et une BDD MySQL.
Lorsque les classes models sont générées je remarque que les fonctions set pour les id ne sont pas générées. Même en les créant à la main dans certains cas cela me pause un problème lors d'une insertion dans la table.
Par exemple :
J'ai un model qui contient une propriété :
Code:
1 2 3 4 5 6 7 8
| * @var RefTypeBonIntervention
*
* @ManyToOne(targetEntity="Model_RefTypeBonIntervention")
* @JoinColumns({
* @JoinColumn(name="ID_TYPE_BON_INTERVENTION", referencedColumnName="ID_TYPE_BON_INTERVENTION")
* })
private $idTypeBonIntervention; |
Une fonction set :
Code:
1 2 3 4 5 6 7 8 9 10 11
| /**
* Set idTypeBonIntervention
*
* @param RefTypeBonIntervention $idTypeBonIntervention
* @return Model_BonIntervention
*/
public function setIdTypeBonIntervention(Model_RefTypeBonIntervention $idTypeBonIntervention)
{
$this->idTypeBonIntervention = $idTypeBonIntervention;
return $this;
} |
Dans le model Model_RefTypeBonIntervention le setid à été créé à la main puisqu'il n'est pas généré :
Code:
1 2 3 4 5 6 7 8
| /**
* @var integer $idTypeBonIntervention
*
* @Column(name="ID_TYPE_BON_INTERVENTION", type="integer", nullable=false)
* @Id
* @GeneratedValue(strategy="AUTO")
*/
private $idTypeBonIntervention; |
Code:
1 2 3 4 5 6 7 8 9 10 11
| /**
* Set idTypeBonIntervention
*
* @param integer $idTypeBonIntervention
* @return Model_RefTypeBonIntervention
*/
public function setIdTypeBonIntervention($idTypeBonIntervention)
{
$this->idTypeBonIntervention = $idTypeBonIntervention;
return $this;
} |
Dans ma classe dao lorsque je veux insérer un nouveau bon d'intervention je procède comme ceci :
Code:
1 2 3 4 5 6 7 8
| public function insert($obj){
$registry = Zend_Registry::getInstance();
$em = $registry->entitymanager;
$em->persist($obj);
$em->persist($obj->getIdTypeBonIntervention());
$em->flush();
} |
Mon problème c'est que l'id contenu dans l'objet $obj->getIdTypeBonIntervention() n'est pas pris en compte et un enregistrement est ajouté dans la table type_bon_intervention et c'est cet l'id qui est ajouté dans l'enregistrement de ma table bon_intervention.
Et je me demande si le fait que mon model Model_TypeBonIntervention soit généré sans setid() fait que mon id contenu dans mon objet $obj->getIdTypeBonIntervention() n'est pas pris en compte lors de mon insert.