0

私は codeigniter に移行し、以前は SQL クエリが機能していましたが、今ではフレームワーク上では動作しません。私は時間を丸めようとしていますが、ここに私のクエリがあります:

SELECT
                                    DATE_FORMAT(wo.dateCreated,'%m/%d/%Y @ %h:%i %p') AS dateCreated
                                    , wo.id
                                    , sr.id AS srid
                                    , ROUND((TIME_TO_SEC(sr.endtime) -
                                                    TIME_TO_SEC(sr.starttime)) / 3600.0 , 2 ) AS totalHours
                                                                        , ROUND((TIME_TO_SEC(sr.endtime) -
                                             TIME_TO_SEC(sr.starttime)) / 3600.0 , 2 ) - sr.deduction AS deductHours
                                    , l.name AS locationName
                                    , l.address
                                    , l.zip
                                FROM company AS c

それほど長くならないようにクエリを短くしました。基本的には、codeigniter を使用して ROUND 部分を適切に実行する方法を知る必要があるだけです。どんな助けでも大歓迎です!

編集: 私はこれを与えるあなたの提案に従って変更しました:

public function get_sr($id) {

    $this->db->select('
                        sr.id
                       ,sr.woid
                       ,sr.description
                       ,sr.techId
                       ,sr.startTime
                       ,sr.endTime
                       ,ROUND((TIME_TO_SEC(sr.endtime) - TIME_TO_SEC(sr.starttime)) / 3600.0 , 2 ) AS totalHours
                       ,u.first_name
                       ,u.last_name
                       ,rt.value AS rate
                       ,wo.tid');
    $this->db->from('service_report sr');
    $this->db->join('work_orders wo','wo.id = sr.woid','left');
    $this->db->join('enum_rate_type rt','rt.id = sr.rateType','left');
    $this->db->join('users u','u.id = sr.techId','left');
    $this->db->where('sr.woid', $id);
    $query = $this->db->get();
    return $query->result_array();

しかし、今ではそれを呼び出すとエラーが発生します: 致命的なエラー: 非オブジェクトのメンバー関数 result_array() への呼び出し

ROUND 行がなくても問題なく表示されます。

ここに私の見解があります:

                        <?php
                        $total = 0;
                        foreach ($srInfo as $row):
                        $total += $amount = $row['rate'] * $row['deductHours'];
                        ?>

            <tbody>
                <!-- Cart item -->

                <tr>
                    <td class="center"><?php echo $row['id']; ?></td>

                    <td>
                        <h5><?php echo $row['description']; ?></h5>
                    </td>

                    <td class="center"><?php echo $row['first_name']; ?> <?php echo $row['last_name']; ?></td>

                    <td class="center"><?php echo $row['deductHours']; ?></td>

                    <td class="center"><?php echo "$" . number_format($total, 2); ?></td>


                </tr><!-- // Cart item END -->
                                            <?php endforeach; ?>
            </tbody>
4

0 に答える 0