- 1
[Opened] jDAO et primarykey multiple
Posted by tritem on 03/31/2009 14:14
Bonjour,
Je suis devant le problème suivant : j'ai une table "classe" dans lequel j'ai une clé primaire composé, à savoir idClasse et numVersion. Lorsque je souhaite faire la commande suivante, pour effectuer une mise à jour :
$this->_factory = jDao::get($this->_DAO); $record = $this->_factory->get($idClasse);
Je ne voit pas de fonction permettant de faire un get sur une clé composé. Faut il écrire soit même la requête d'update?
Cdt Sylvain
[Opened] Re: jDAO et primarykey multiple
Posted by foxmask on 03/31/2009 14:24
Pour faire une requete sur 2 cles, au lieu de
this->_factory->get() (qui va chercher une PK)
on pourrait faire :
this->_factory->getByIdClassNumVersion()
et cette methode dans le DAO permettrait de faire le selectfirst qui va bien.
ensuite il est possible de faire this->_factory->update($data);
où $data sont les données à mettre à jour dans la table.
@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !
[Opened] Re: jDAO et primarykey multiple
Posted by laurentj on 03/31/2009 15:35
Hou là là, vous vous cassez le **l pour rien là :-)
$record = $this->_factory->get(array($idClasse, $idNumVersion));
Ou mieux:
$record = $this->_factory->get($idClasse, $idNumVersion);
Il faut bien sûr déclarer dans le fichier XML que la clé est composée de deux champs:
<primarytable ... primarykey="id_class,id_num_version" />
- 1