sql >> Databáze >  >> RDS >> Mysql

Objekt třídy Databáze nelze převést na řetězec

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.




  1. Oracle RAC na cloudech třetích stran

  2. PostgreSQL EXPLAIN – Jaké jsou náklady na dotaz?

  3. PHP PDO načte null

  4. Nelze se připojit k místnímu serveru MySQL přes soket '/var/lib/mysql/mysql.sock' (2)