L'erreur semble être ici :
echo "<tr><td>".$epreuve->designation."</td>"
.$module = $this->_db->get('module', array('epreuve_code', '=',
Notez que vous n'avez pas fermé echo
avec un point-virgule, et il y a un point avant $module
, donc PHP essaie de concaténer la chaîne echo avec la classe $module plus l'itération également à l'intérieur de la concaténation. Vous ne pouvez pas faire ça.
Procédez comme suit :
public function getModule() {
$epreuve = $this->_db->get('epreuve', array('concour_code', '=', $this->data()->concour_code));
foreach($epreuve->results() as $epreuve){
echo "<tr>";
echo "<td>".$epreuve->designation."</td>";
$module = $this->_db->get('module', array('epreuve_code', '=', $epreuve->code ));
foreach($module->results() as $module){
echo "<td>".$epreuve->designation."</td>";
}
echo "</tr>";
}
}
Suggestion :
Sur votre code
foreach($epreuve->results() as $epreuve){
ET
foreach($module->results() as $module){
Vous ne devez pas utiliser le même nom de variable que celui que vous itérez. Essayez de le changer en
public function getModule() {
$epreuve = $this->_db->get('epreuve', array('concour_code', '=', $this->data()->concour_code));
foreach($epreuve->results() as $epreu){
echo "<tr>";
echo "<td>".$epreu->designation."</td>";
$module = $this->_db->get('module', array('epreuve_code', '=', $epreu->code ));
foreach($module->results() as $mod){
echo "<td>".$epreu->designation."</td>";
}
echo "</tr>";
}
}
REMARQUE :Le tableau HTML est un peu confus, j'ai essayé de le comprendre au mieux. Modifiez-le selon vos besoins.