L'errore sembra essere qui:
echo "<tr><td>".$epreuve->designation."</td>"
.$module = $this->_db->get('module', array('epreuve_code', '=',
Nota che non hai chiuso echo
con punto e virgola, e c'è un punto prima di $module
, quindi PHP sta cercando di stringere concat echo string con la classe $module più l'iterazione anche all'interno della concatenazione. Non puoi farlo.
Procedi come segue:
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>";
}
}
Suggerimento:
Sul tuo codice
foreach($epreuve->results() as $epreuve){
E
foreach($module->results() as $module){
Non dovresti usare lo stesso nome di variabile di ciò che stai iterando. Prova a cambiarlo in
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>";
}
}
NOTA:La tabella HTML è un po' disordinata, ho cercato di capirla al meglio. Modificalo in base alle tue esigenze.