Codeigniter非对象模型功能

时间:2014-05-28 14:49:26

标签: php codeigniter

我的模特档案:

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'); 

2 个答案:

答案 0 :(得分:1)

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

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

如果尝试删除null参数:

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

将其更改为:

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

答案 1 :(得分:1)

您使用加载模型并引用它们是错误的。 loading函数的第二个参数用于将对象分配给模型名称以外的名称。此外,当加载函数本身不返回任何内容时,您通过使用变量来调用模型。

因此,您需要做的是加载模型。

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

要拨打电话,您必须使用

$this->productModel->method();

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

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

要拨打电话,您必须使用

$this->pmodel->method();