簡體   English   中英

core / Model.php上的Codeigniter未定義屬性

[英]Codeigniter undefined property on core/Model.php

控制者

    public function editItem(){
         $this->load->helper('form'); 
         $this->load->model('ItemModel'); 
         $data['items'] = $this->ItemModel->itemlist(); 
         $item_details = $this->ItemModel->edititem($this->input->get('id'));    
         $data2['item_name'] = $item_details->name; //THIS IS LINE 28
         $data2['item_description']= $item_details->description; 
         $data2['item_price'] = $item_details->price;
         $this->load->view('item/item_edit',$data2); 
    }

我的觀點有誤,我不知道為什么

A PHP Error was encountered

Severity: Notice

Message: Undefined property: Item::$name

Filename: core/Model.php

Line Number: 77

Backtrace:

File: C:\xampp\htdocs\itwa213\application\controllers\Item.php
Line: 28
Function: __get

File: C:\xampp\htdocs\itwa213\index.php
Line: 292
Function: require_once

我已經檢查了config上的自動加載,並使用

$autoload['libraries'] = array('database');

你可以試試這個

public function editItem() {
     $this->load->helper('form'); 
     $this->load->model('ItemModel'); 

     $data['items'] = $this->ItemModel->itemlist(); 

     $item_details = $this->ItemModel->edititem($this->input->get('id'));    

     $data2['item_name'] = $item_details['name']; //THIS IS LINE 28
     $data2['item_description'] = $item_details['description']; 
     $data2['item_price'] = $item_details['price'];

     $this->load->view('item/item_edit',$data2); 
}

您的控制器功能更改為這樣

public function editItem(){ 
  $this->load->helper('form');
  $this->load->model('ItemModel');

  $data['items'] = $this->ItemModel->itemlist(); 
  $data2['item_details'] =$this->ItemModel->edititem($this->input->get('id')); 

  $this->load->view('item/item_edit',$data2); 
} 

並在您的查看頁面中

echo $item_details->name;

您應該查看您使用的get函數的代碼。 嘗試先將$this->input->get('id')替換為現有的ID號。 檢查是否成功。 如果使用現有的ID號成功,那么您的get函數應該無法正常工作或出現問題。 我很少使用$ this-> input-> get(),而是$ this-> input-> post()。

在您的編輯鏈接上,您可以使用: <a href="controller/method/id">edit</a> 因此ID是第三段uri。 使用$this->uri->segment(3); 獲取第三段並將其存儲到$ item_id變量中到您的控制器中。 因此,無需使用$ this-> input-> get(); 獲取item_id值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM