Bonjour,

 

J’ai commencé à naviguer dans la nouvelle version 0.9rc1, mais j’ai pu 
constater qu’il n’y a pas eu de modification sur un point de c’est découvert 
ressemant en faisant un peu de nettoyage dans notre base de données :

Lors de l’effacement d’un adhérent, les transactions et contributions qui lui 
sont liées sont bien effacées. Par contre comme une transaction peut contenir 
des contributions d’autre adhérents, ces contributions se retrouvent avec une 
valeur trans_id inconsistante, alors qu’elle devrait être remise à NULL.

 

J’ai essayé d’intercaler une requete UPDATE dans Members.php, mais je ne suis 
pas très à l’aise avec $zdb.

Je ne sais pas comment faire une recheche dans une recheche :

 

//delete contributions

$del_qry = $zdb->delete(Contribution::TABLE);

$del_qry->where->in(

     self::PK, $list

);

$del = $zdb->execute($del_qry);

 

+//***NG: Update trans_id of other contributions

+$update = $zdb->update(Contribution::TABLE);

+$update->set(

+     array(Transaction::PK => null)

+)->where->in(Transaction::PK, 
$zdb->select(Transaction::TABLE)->where->in(self::PK, $list));

+);

+$del = $zdb->execute($update);

 

//delete transactions

$del_qry = $zdb->delete(Transaction::TABLE);

$del_qry->where->in(self::PK, $list);

$del = $zdb->execute($del_qry);

 

 

Ou alors, il faut d’abord extraire sous forme de liste toutes les transactions 
à effacer, pour mettre à jour les contributions. Puis on utilise cette même 
liste pour effacer les transactions.

 

Cordialement,

Nicolas Guillerm

Répondre à