sql >> Databasteknik >  >> RDS >> Mysql

Objektet i klassen Database kunde inte konverteras till sträng

Felet verkar vara här:

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

Observera att du inte stängde echo med semikolon, och det finns en punkt före $modul , så PHP försöker stränga concat ekosträng med $module class plus iterationen också inuti sammanlänkningen. Det kan du inte göra.

Gör följande:

offentlig funktion getModule() { $epreuve =$this->_db->get('epreuve', array('concour_code', '=', $this->data()->concour_code)); foreach($epreuve->results() som $epreuve){ echo ""; echo "".$epreuve->beteckning.""; $module =$this->_db->get('module', array('epreuve_code', '=', $epreuve->code )); foreach($module->results() som $modul){ echo "".$epreuve->designation.""; } echo ""; }} 

Förslag:

På din kod

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

OCH

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

Du bör inte använda samma variabelnamn som det du itererar. Försök ändra det till

offentlig funktion getModule() { $epreuve =$this->_db->get('epreuve', array('concour_code', '=', $this->data()->concour_code)); foreach($epreuve->results() som $epreu){ echo ""; echo "".$epreu->beteckning.""; $modul =$this->_db->get('module', array('epreuve_code', '=', $epreu->code )); foreach($module->results() som $mod){ echo "".$epreu->designation.""; } echo ""; }} 

OBS:HTML-tabellen är lite rörig, jag försökte bäst förstå den. Ändra det efter dina behov.




  1. Indexeras primärnyckeln automatiskt i MySQL?

  2. Case Expression vs Case Statement

  3. indatafilen verkar vara en textformatdump. Använd psql

  4. Hur man undertrycker INFO-meddelanden när man kör psql-skript