Wygląda na to, że błąd jest tutaj:
echo "<tr><td>".$epreuve->designation."</td>"
.$module = $this->_db->get('module', array('epreuve_code', '=',
Zauważ, że nie zamknąłeś echo
ze średnikiem, a przed $module
znajduje się kropka , więc PHP próbuje utworzyć ciąg concat echo z klasą $module plus iteracja również wewnątrz konkatenacji. Nie możesz tego zrobić.
Wykonaj następujące czynności:
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>";
}
}
Sugestia:
Na Twoim kodzie
foreach($epreuve->results() as $epreuve){
ORAZ
foreach($module->results() as $module){
Nie powinieneś używać tej samej nazwy zmiennej, co iterujesz. Spróbuj zmienić to na
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>";
}
}
UWAGA:Tabela HTML jest trochę nieuporządkowana, starałem się jak najlepiej ją zrozumieć. Zmień go do swoich potrzeb.