Tolong yaa temen2 " error trying to get property 'no_tiket' of non-object"

-Controller

public function keHalamanKonfirmasi(){
        $data['judul'] = 'Halaman Konfirmasi';

        if(isset($_GET['kode'])):
            $kode = $_GET['kode'];
            $data['no_tiket'] = $this->M_Guest->getPembayaranWhere($kode)->row();
            $data['detail'] = $this->M_Guest->cekKonfirmasi($data['no_tiket']->no_tiket)->result();
        endif;

        $this->load->view('guest/template/header', $data);
        $this->load->view('guest/halaman_konfirmasi');

-Model

public function getPembayaran(){
        return $this->db->get('pembayaran');
    }

    public function getPembayaranWhere($kode){
        $this->db->where('no_pembayaran', $kode);
        return $this->db->get("pembayaran");
    }

    public function cekKonfirmasi($nomor){
        $this->db->where('nomor_tiket', $nomor);
        return $this->db->get('penumpang');
    }
-View

<?php if(isset($_GET['kode'])): ?>
            <div class='card'>
                <div class='card-header'>
                    Detail Pembayaran Anda
                </div>
                <div class='card-body'>
                    <div class='table-responsive'>
                        <table class='table table-bordered'>
                            <thead>
                                <tr>
                                    <th>Nama</th>
                                    <th>Identitas</th>
                                </tr>
                            </thead>
                            <tbody>

                                <?php foreach ($detail as $dt): ?>
                                    <tr>
                                        <td><?= $dt->nama ?></td>
                                        <td><?= $dt->no_identitas ?></td>
                                    </tr>
                                <?php endforeach ?>

                            </tbody>
                        </table>
                        <p><b>Total Pembayaran Anda : </b> <b> Rp. <?= $no_tiket->total_pembayaran  ?></b> </p>
                        <p class='text-danger'>Silahkan Kirim Bukti Pembayaran Anda pada Kolom di Bawah</p>
                         <?= form_open_multipart ('kirimKonfirmasi'); ?>
                            <input type="file" name='gambar' class='form-control'>
                        <?= form_close(); ?>

                    </div>
                </div>
            <?php endif ?>
            </div>

-Pesan

A PHP Error was encountered

Severity: Notice

Message: Trying to get property 'no_tiket' of non-object

Filename: controllers/Guest.php

Line Number: 24

Backtrace:

File: C:\xampp\htdocs\TiketBus\application\controllers\Guest.php

Line: 24

Function: _error_handler

File: C:\xampp\htdocs\TiketBus\index.php

Line: 315

Function: require_once

avatar hidayahputri_google
@hidayahputri_google

1 Kontribusi 0 Poin

Diperbarui 4 tahun yang lalu

2 Jawaban:

<div>Coba didebug dulu dengan perintah :</div><pre> print_r( $data['no_tiket']);</pre><div><br><br>Tujuannya untuk mengecek apakah variable yang di debug itu ada property no_tiket atau tidak. Soalnya kalo berdasarkan error'nya, variabel data[no_tiket] itu ga punya property no_tiket.</div>

avatar ahanafi
@ahanafi

815 Kontribusi 554 Poin

Dipost 4 tahun yang lalu

Tanggapan

Maaf kak langkah debugnya gimna ya kak? aku masih pemula soalnya kak hehe

<div>Coba masnya ubah menjadi seperti ini&nbsp;<br><br>Awal :&nbsp;</div><pre>$data['detail'] = $this-&gt;M_Guest-&gt;cekKonfirmasi($data['no_tiket']-&gt;no_tiket)-&gt;result();</pre><div><br>Hasil :</div><pre>$data['detail'] = $this-&gt;M_Guest-&gt;cekKonfirmasi($data['no_tiket'])-&gt;result();</pre>

avatar Rands
@Rands

4 Kontribusi 0 Poin

Dipost 4 tahun yang lalu

Tanggapan

Makasih tanggapannya kak, sudah aku coba dan sekarang errornya berubah jadi "Trying to get property 'total_pembayaran' of non-object" di halaman viewnya. Itu gimana ya kak?

di dalam controller pada kode $data['no_tiket'] = $this->M_Guest->getPembayaranWhere($kode)->row(); ubah menjadi seperti ini $data['no_tiket'] = $this->M_Guest->getPembayaranWhere($kode)->result();

jika salah mohon maaf, tp kesalahan kode km sepertinya ada disitu

Masih error kak, karna dia array makanya sebelumnya pake ->row();

$this->load->view('guest/halaman_konfirmasi', $data);

coba kasih sprti itu

Login untuk ikut Jawaban