sql >> データベース >  >> RDS >> Mysql

クラスDatabaseのオブジェクトを文字列に変換できませんでした

    エラーはここにあるようです:

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

    echoを閉じていないことに注意してください セミコロン付きで、$moduleの前にドットがあります そのため、PHPは、連結エコー文字列を$moduleクラスと連結内の反復で文字列化しようとしています。あなたはそれをすることはできません。

    次の手順を実行します:

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

    提案:

    あなたのコードについて

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

    AND

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

    反復しているものと同じ変数名を使用しないでください。

    に変更してみてください
    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>";
        }
    }
    

    注:HTMLテーブルは、理解するために最善を尽くして少し面倒です。必要に応じて変更してください。




    1. MySQLのタイムゾーンを変更しますか?

    2. to_date()がPostgreSQLでどのように機能するか

    3. mysqlエラー:テーブルmysql.innodb_table_statsが見つかりません

    4. Cosh()がPostgreSQLでどのように機能するか