Je vois deux problèmes majeurs dans ce code

Le 04/02/2017 à 12:00, andriant sandy a écrit :
$members = $group->getMembers(['parent' => true]);       //Ajout de ", ['parent' => 
true]", pour remonter les informations du parent

     foreach ( $members as $m ) {
                if (empty($email) && $m->hasParent()) {                      
//Si adhérent n'a pas d'email ET a un parent
                        $mail = $m->parent->email;                        
//Charger dans $address l'email du parent               
                }
                $mail = $m->email;
                        
         $pdf->Cell(80, 7, $m->sname, 1, 0, 'L');
         $pdf->Cell(50, 7, $mail, 1, 0, 'L');         //écriture de la valeur 
$mail retournée par le if
         $pdf->Cell(30, 7, $m->phone, 1, 0, 'L');
         $pdf->Cell(30, 7, $m->gsm, 1, 1, 'L');
     }
     $pdf->Cell(190, 0, '', 'T');
     $first = false;
Quelle est la valeur de la variable $email ? N'est-ce pas plutôt $m->email ?
Sans le else ma variable $mail vaut toujours $m->email à la sortie.

Il faudrait écrire soit

   $mail = $m->email;
   if ( empty($mail) && $m->hasParent())
        $mail = $m->parent->email;
   ...

soit :

   $mail = (empty($m->email) && $m->hasParent())? $m->parent->email :
   $m->email;

soit votre forme avec un else.

Daniel



_______________________________________________
Galette-discussion mailing list
Galette-discussion@gna.org
https://mail.gna.org/listinfo/galette-discussion

Répondre à