我无法在CI中正确地调用我的SP有人可以帮助我吗?
这是错误:
致命错误:在第252行的/home/development/public_html/rmt/application/controllers/welcome.php中调用未定义的方法Welcome :: navi_model()
以下是我的示例代码:
控制器
function upload_gen048()
{
$data['uploadData']=$this->input->post('upload');
$this->load->model('navi_model');
$query = $this->navi_model($data);
$data = array('msg' => "Upload success!");
$data['main_content'] = 'gen048';
$this->load->view('includes/template',$data);
$data['uploadData'] = $this->upload->data();
模型
function upload_gen048($data)
{
$qString = '[gen048upload] '; //STORED PROCEDURE
$qString .= "'"
. $data['filedate'] . "','";
. $data['accdate'] . "','";
echo $qString;
$this->db->query('set ansi_padding on
set ARITHABORT on
set CONCAT_NULL_YIELDS_NULL on
set QUOTED_IDENTIFIER on
set ANSI_NULLS on
set ANSI_WARNINGS on
set numeric_roundabort off');
$query = $this->db->query($qString);
return ($query->num_rows() > 0) ? $query->result() : NULL;
}
答案 0 :(得分:3)
如果您尝试将数据传递给模型的构造函数方法,那么您应该编写。
$params = array('param1' => 'value1', 'param2' => 'value2');
$this->load->library('navi_model', $params);
其他
您需要在模型类名称后指定方法名称,如: -
$this->navi_model->method_name($params);
答案 1 :(得分:2)
要调用模型函数表单控制器,我们使用
$query = $this->MODEL_NAME->METHOD_NAME(PARAMETER);
您需要在从控制器
调用模型时添加方法名称更改
$query = $this->navi_model($data);
要
$query = $this->navi_model->upload_gen048($data); // add method name here
阅读https://www.codeigniter.com/userguide3/general/models.html
答案 2 :(得分:1)
试试这个,
function upload_gen048()
{
$data['uploadData']=$this->input->post('upload');
$this->load->model('navi_model');
$query = $this->navi_model->function_name($data); //here is your mistake
$data = array('msg' => "Upload success!");
$data['main_content'] = 'gen048';
$this->load->view('includes/template',$data);
$data['uploadData'] = $this->upload->data();
}
尝试并让我知道它是否有效
您可以访问documentation获取更多详细信息,了解CI如何调用函数以及所有