Memahami Ralat "Mencuba Mendapatkan Harta Bukan Objek" dalam CodeIgniter
Apabila cuba mengemas kini rekod pangkalan data menggunakan CodeIgniter, anda mungkin menghadapi ralat "Mencuba untuk mendapatkan harta bukan objek". Isu ini timbul apabila cuba mengakses sifat objek yang bukan contoh kelas.
Dalam konteks edit_product_view anda, anda cuba mengisi borang menggunakan objek $product, yang diambil berdasarkan pada ID produk yang dipilih. Walau bagaimanapun, anda sedang mengakses sifatnya menggunakan notasi objek ($product->prodname).
Menyelesaikan Isu: Object vs. Array Notation
CodeIgniter menyimpan data yang diambil sebagai tatasusunan, bukan objek. Oleh itu, anda harus menggunakan tatatanda tatasusunan untuk mengakses elemen individu tatasusunan $product, yang mengandungi nilai untuk medan borang anda.
Ganti baris berikut:
<code class="php"><?php echo form_input('prodname', set_value('prodname', $product->prodname)); ?> <?php echo form_dropdown('ptname_fk', $product_types, set_value('ptname_fk', $product->ptname_fk)); ?></code>
dengan:
<code class="php"><?php echo form_input('prodname', set_value('prodname', $product['prodname'])); ?> <?php echo form_dropdown('ptname_fk', $product_types, set_value('ptname_fk', $product['ptname_fk'])); ?></code>
Petua Tambahan
Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat \'Mencuba Mendapatkan Harta Bukan Objek\' dalam CodeIgniter?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!