Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Objekt der Klasse Database konnte nicht in String konvertiert werden

Der Fehler scheint hier zu liegen:

echo "<tr><td>".$epreuve->designation."</td>"
    .$module = $this->_db->get('module', array('epreuve_code', '=',

Beachten Sie, dass Sie echo nicht geschlossen haben mit Semikolon, und vor $module steht ein Punkt , also versucht PHP, den Echostring mit der Klasse $module plus der Iteration auch innerhalb der Verkettung zu verknüpfen. Das geht nicht.

Gehen Sie wie folgt vor:

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>";
    }

}

Vorschlag:

Auf Ihrem Code

foreach($epreuve->results() as $epreuve){

UND

foreach($module->results() as $module){

Sie sollten nicht den gleichen Variablennamen verwenden wie das, was Sie iterieren. Versuchen Sie es in

zu ändern
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>";
    }
}

HINWEIS:Die HTML-Tabelle ist ein bisschen chaotisch, ich habe versucht, sie am besten zu verstehen. Passen Sie es an Ihre Bedürfnisse an.