编码器非对象模型函数


Codeigniter non-object model function

我的模型文件:

Class productModel extends CI_Model{
  function __construct() {
    parent::__construct();
  }
  function getProduct() {
    $query =  $this->db->get('urunler');
    return $query->result();
  }
}
控制器文件:

class product extends CI_Controller {

  public function index()
  {
            $model= $this->load->model('productModel',NULL,TRUE);
            $data['urunListesi']=$model->getProduct();
    $this->load->view("site/header");
            $this->load->view("site/product",$data);
            $this->load->view("site/footer");
  }
}

和查看文件:

foreach ($urunListele as $value) {

                         $adi=$value["adi"];
                         $fotolik= $value['fotolink'];
                         $kucukfot=$value["kucukfoto"];
                         $hakkinda = $value["hakkinda"];
                          echo "<div class='portfolio-item logo animation col-md-3'>";
                                  echo  "<div class='portfolio-border'>";
                                  //<!-- Start Portfolio Item Thumb -->
                                  echo "<div class='portfolio-thumb'>";
                                      echo "<a class='lightbox' title='$hakkinda' href='$fotolik'> ";
                                          echo "<div class='thumb-overlay'><i class='icon-resize-full'></i></div>";
                                          echo "<img alt='' src='$kucukfot' />";
                                      echo "</a>";
                                  echo "</div>";
                                 echo " <div class='portfolio-details'>";
                                          echo "<h4>";
                                          echo "<p align='center'>" . $value["adi"]. "</p>";
                                          echo "</h4>";
                                  echo "</div>";
                              echo "</div>";
                          echo "</div>";
}

我有这个错误:

Fatal error: Call to a member function getProduct() on a non-object in C:'xampp'htdocs'ModaGabar'application'controllers'product.php on line 9

我也这样做:

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

您的产品类是否有构造函数?如果没有添加:

public function __construct() {        
    parent::__construct();
}

如果是,尝试删除null参数:

$model= $this->load->model('productModel',NULL,TRUE);

改为:

$model= $this->load->model('productModel','',TRUE);

您对加载模型和引用它们的使用是错误的。加载函数的第二个参数用于将对象赋给模型名称以外的名称。此外,当加载函数本身没有返回任何值时,您通过使用变量进行调用来引用模型。

你需要做的是,加载模型。

$this->load->model('productModel');

要打电话,你必须使用

$this->productModel->method();

可以通过第二个参数使用另一个对象名称。

$this->load->model('productModel', 'pmodel');

要打电话,你必须使用

$this->pmodel->method();