我正在尝试在我的视图文件中加载模型,但问题是模型没有加载并且给出了错误Message: Undefined property: CI_Loader::$CoupanCatModel
以下是我的代码
控制器
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class CoupanCategory extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('coupans/CoupanCatModel');
//$this->load->model('ForeignData_model');
}
public function init(){
$logoUrls = 'no-image.jpg';
$webUrls = 'no-image.jpg';
$mobileUrls = 'no-image.jpg';
$this->load->library('upload');
$config['upload_path'] = './assets/images/coupans/category/';
$config['allowed_types'] = 'gif|jpg|png';
$config['encrypt_name'] = TRUE;
$config['max_size'] = 20000;
$config['max_width'] = 1024;
$config['max_height'] = 768;
$this->upload->initialize($config);
if ( ! $this->upload->do_upload('ccImage')){
$error = array('error' => $this->upload->display_errors());
}
else{
$data = $this->upload->data();
$logoUrls = $data['file_name'];
}
$is_init = $this->CoupanCatModel->init($logoUrls);
if ($is_init) {
redirect(base_url().'rech/'.ACCESS_KEY.'/coupans/coupan_category?create=success&success=New coupan category create','refresh');
}
else
{
redirect(base_url().'rech/'.ACCESS_KEY.'/coupans/coupan_category?create=failed&error=something want wrong','refresh');
}
}
}
模型
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class CoupanCatModel extends CI_Model {
public function init($logoUrls)
{
new_id:
$sc_id = 'SC'.mt_rand(1000,9999);
if ($this->check_id($sc_id))
goto new_id;
$sc_title = (isset($_POST['coupan_cat_name']) && $_POST['coupan_cat_name'] != '') ? trim($_POST['coupan_cat_name']):'';
$sc_logo = $logoUrls;
// $sc_web_image = $webUrls;
//$sc_mobile_image = $mobileUrls;
$active_flag =1;
$this->db->set('oc_cat_id',$sc_id);
$this->db->set('oc_cate_name',$sc_title);
//$this->db->set('sc_description',$sc_description);
// $this->db->set('sc_logo',$sc_logo);
$this->db->set('oc_web_image',$sc_logo);
//$this->db->set('sc_mobile_image',$sc_mobile_image);
$this->db->set('active_flag',$active_flag);
$this->db->insert('tbl_oc_category');
return true;
}
public function get_data($oc_cat_id = false)
{
if ($oc_cat_id != false) {
$this->db->where('oc_cat_id', $sc_id);
$query = $this->db->get('tbl_oc_category');
return $query->row_array();
}
$query = $this->db->get('tbl_oc_category');
return $query->result_array();
}
}
查看我只是加载模型
<?php
$this->load->model('coupans/CoupanCatModel');
$scData = $this->CoupanCatModel->get_data();
echo '<pre>ddsd';
print_r($records);
die();
?>
但问题是模型没有加载并给出错误
A PHP Error was encountered
Severity: Notice
Message: Undefined property: CI_Loader::$CoupanCatModel
Filename: coupans/coupan_category.php
Line Number: 139
答案 0 :(得分:1)
为了您自己的参考,您可能需要阅读Codeigniter Style Guide的文件名等。
您提供的代码似乎是&#34;可疑&#34;事实上,您的代码中没有任何地方您要加载所谓的&#34;视图&#34;。
因此,基于您提供的内容,我已经提出了一些演示/调试代码。
请注意,您在视图中使用调用模型在MVC方案中并不完全正确,也不完全是非法的。
所以我在Linux机器上设置了这个,其中文件名等区分大小写。
<强>控制器/ coupans / CoupanCategory.php 强>
class CoupanCategory extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->model('coupans/CoupanCatModel');
}
public function index() {
echo "I am the controller ".__CLASS__;
$this->CoupanCatModel->init();
$this->load->view('coupans/coupan_category');
}
}
<强>模型/ coupans / CoupanCatModel.php 强>
class CoupanCatModel extends CI_Model{
public function init($logoUrls = '')
{
echo "<br>I am the ".__METHOD__;
}
public function get_data($oc_cat_id = false)
{
return "<br>I am the ".__METHOD__;
}
}
<强>视图/ coupans / coupan_category.php 强>
<?php
$this->load->model('coupans/CoupanCatModel');
$scData = $this->CoupanCatModel->get_data();
var_dump($scData);
从你应该得到的一切......
I am the controller CoupanCategory
I am the CoupanCatModel::init
string '<br>I am the CoupanCatModel::get_data' (length=37)
这应该可以帮助您解决问题。