Code Igniter 框架中的未定义方法

Posted

技术标签:

【中文标题】Code Igniter 框架中的未定义方法【英文标题】:Undefined method in Code Igniter framework 【发布时间】:2015-02-03 03:11:17 【问题描述】:

我在 CodeIgniter 框架中遇到问题,

    控制器

     public function tambah()    
     $this->form_validation->set_rules('judul', 'Judul', 'required');
     $this->form_validation->set_rules('deskripsi', 'Deskripsi','required');
     $this->form_validation->set_rules('isi', 'Isi', 'required');
    
    
     if ($this->form_validation->run() === FALSE) 
          $data=array('title'=>'Menambah Berita',
                      'isi'  =>'admin/berita/tambah_berita'
                     );
           $this->load->view('admin/layout/wrapper',$data); 
     else
          $tag = url_title($this->input->post('judul'), 'dash', TRUE);
          $data = array(
    
                'judul'     => $this->input->post('judul'),
                'tag'       => $tag,//edited
                'deskripsi' => $this->input->post('deskripsi'),
                'isi'       => $this->input->post('isi'),
                'status'    => $this->input->post('status'),
                'id_admin'  => $this->input->post('id_admin')
            );
    $this->berita_model->tambah($data);
    redirect(base_url().'admin/berita/');
    

    型号:

     public function tambah($data) 
          return $this->db->insert('lm_destination', $data);
        
    

    查看:查看文件已修复。 这些代码产生:致命错误:在第 41 行的 C:.\application\controllers\admin\file.php 中调用未定义的方法 Berita_model::tambah()

    李>

有人可以帮我解决吗?谢谢

【问题讨论】:

能否给我们看一些关于 Berita_model 的代码? 你已经加载了模型 $this->load->model('berita_model'); 【参考方案1】:

你必须写

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

使用前

$this->berita_model->tambah($data);

【讨论】:

@Rian Sociopreneur,如果这回答了您的问题,请点击左侧的接受按钮【参考方案2】:

希望对你有帮助

    控制器

     public function tambah()    
     $this->form_validation->set_rules('judul', 'Judul', 'required');
     $this->form_validation->set_rules('deskripsi', 'Deskripsi','required');
     $this->form_validation->set_rules('isi', 'Isi', 'required');
    
    
     if ($this->form_validation->run() === FALSE) 
          $data=array('title'=>'Menambah Berita',
                      'isi'  =>'admin/berita/tambah_berita'
                     );
           $this->load->view('admin/layout/wrapper',$data); 
     else
          $tag = url_title($this->input->post('judul'), 'dash', TRUE);
          $data = array(
    
                'judul'     => $this->input->post('judul'),
                'tag'       => $tag,//edited
                'deskripsi' => $this->input->post('deskripsi'),
                'isi'       => $this->input->post('isi'),
                'status'    => $this->input->post('status'),
                'id_admin'  => $this->input->post('id_admin')
            );
      $this->load->model('berita_model');
    $this->berita_model->tambah($data);
    redirect(base_url().'admin/berita/');
    

    型号:

     public function tambah($data) 
           $this->db->insert('lm_destination', $data);
             return true;
        
    

【讨论】:

以上是关于Code Igniter 框架中的未定义方法的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Code Igniter REST_Controller 定义内容类型

为啥在使用静态方法时取消引用 nullptr 而不是 C++ 中的未定义行为?

CalendarPosts#index 中的 NoMethodError 用于 nil:NilClass 的未定义方法 'title'... 仅有时会出错?

未找到文件错误消息未出现在 Code Igniter 中

如何检测二进制/库中的未定义符号?

RSpec NoMethodError:“主对象的未定义方法‘描述’”