调用未定义的方法 Main_data::candidate_pro()



Controller

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Test extends CI_Controller {
function __construct() {
parent :: __construct();
$this->load->model('Main_data');
}

public function my_profile() {
$data['user_id'] = $this->session->userdata('user_id');
$ids = $data['user_id'][0]['user_id'];
$data['user_project'] = $this->Main_data->user_pro($ids);
$this->load->view('user/my-profile',$data);
}
}

型号: Main_data

<?php  
class Main_data extends CI_Model  {  
function __construct()  {   
parent::__construct();  
}
public function user_pro($ids) {
$this->db->select('*');
$this->db->from('user_project');
$this->db->where('user_id',$ids);
$query = $this->db->get();
$result = $query->result_array();
return $result;
}
}

在此代码中,我有控制器Test,其中我加载了模型Main_data和函数my_profile。现在,当我运行我的程序时,它会生成一个错误,如下所述:

Fatal error: Call to undefined method Main_data::user_pro()

我不知道我哪里做错了?那么,如何修复此错误?

第一件事 使用小写字母加载模型,即使您使用大写字母命名它们$this->load->model('main_data');

对于控制器,在定义类后立即创建一个全局变量public $data。 您可以使用$this->name在类中调用此变量(在本例中为$this->data(。

construct()中,加载模型后,进行如下调用:

$this->data = $this->my_model->function_i_want_to_call(parameters);

它将加载您的全局$data,其中包含您希望从模型中的函数提供的信息

并为您的控制器制作这样的函数

public function index() {
$this->load->view('location_of_view',$this->data);
}

我已经尝试了您的代码,并且通过这些修改,它按预期工作。 这是我用于代码点火器的样式,也许您不会喜欢它,但如果您想:),请尝试一下。 我希望这有帮助!有好的一天!

相关内容

  • 没有找到相关文章