Zdá se, že chyba je zde:
echo "<tr><td>".$epreuve->designation."</td>"
.$module = $this->_db->get('module', array('epreuve_code', '=',
Všimněte si, že jste nezavřeli echo
se středníkem a před $module
je tečka , takže PHP se pokouší vytvořit řetězec concat echo string s třídou $module plus iteraci také uvnitř zřetězení. To nemůžete.
Proveďte následující:
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>";
}
}
Návrh:
Na vašem kódu
foreach($epreuve->results() as $epreuve){
AND
foreach($module->results() as $module){
Neměli byste používat stejný název proměnné jako to, co iterujete. Zkuste to změnit 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>";
}
}
POZNÁMKA:Tabulka HTML je trochu chaotická, snažil jsem se jí nejlépe porozumět. Změňte jej podle svých potřeb.