sql >> Database teknologi >  >> RDS >> Mysql

Objektet i klassen Database kunne ikke konverteres til streng

Fejlen ser ud til at være her:

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

Bemærk, at du ikke lukkede echo med semikolon, og der er en prik før $module , så PHP forsøger at string concat ekko streng med $modul klasse plus iterationen også inde i sammenkædningen. Det kan du ikke.

Gør følgende:

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

}

Forslag:

På din kode

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

OG

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

Du bør ikke bruge det samme variabelnavn på det, du gentager. Prøv at ændre det til

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

BEMÆRK:HTML-tabellen er lidt rodet, jeg prøvede bedst at forstå den. Skift det til dine behov.




  1. B-Tree vs Hash Tabel

  2. Hvordan skriver man en mysql-funktion med dynamisk tabelnavn?

  3. Håndtering af roller og statusser i et system

  4. SQL:parse for-, mellem- og efternavn fra et fuldnavnsfelt