Получение ошибки Вызов неопределенного метода CourseModel :: deletecour () в Codeigniter? - PullRequest
0 голосов
/ 09 января 2019

Привет, разработчики. Я получаю сообщение об ошибке, но не знаю почему? Все правильно, я так думаю. Я делаю просто простое удаление в codeigniter используя id. Просто проверьте мой код.

Это мой контроллер.

public function deletecourse(){

        $id = $this->uri->segment(4);
        $elete = array(
            'table'=>'ls_courses',
            'where'=>array('id'=>$id)
        );
        $result=$this->coursemodel->deletecour($elete);
        if($result){
                $this->session->set_flashdata('success', 'Successfully deleted.');
        }
        else{
             $this->session->set_flashdata('warning', 'Unable to delete data.Please try again.');
        }
        redirect(base_url().'admin/course/index/');
    }

Это функция модели.

class CourseModel extends CI_Model 
{
    public function __construct()
    {
         parent::__construct();          
    }
    public function deletecour($elete)
    {
        $this->db->where($elete['where']);
        return $this->db->delete($elete['table']);
     }  
   public function fetchCourseByParentID($id)
    {

    $this->db->select('course_name, image, sort_order, parent_id, 
    date_added, status');
    $this->db->from('ls_courses');
    $this->db->where('id = ' . $id);
    $query = $this->db->get();

    if(!empty($query->result_array()))
    {
        return $query->result_array();
    }
    else
    {
        return $this->db->error();
    }
}
} 

Ответы [ 3 ]

0 голосов
/ 09 января 2019

Я не знаю, почему это происходит ... но постарайтесь, чтобы все методы были доступны в вашем классе ... чтобы вы могли найти это ... почему вы не можете вызвать свой метод в модели ...

получить все методы, доступные в вашей модели

class CourseModel extends CI_Model 
{
public function __construct()
    {
         parent::__construct();          
         var_dump(get_class_methods($this));
         EXIT;
    }
}
0 голосов
/ 09 января 2019

Привет, ребята, прежде всего спасибо, потому что вы все очень часто отвечали на мой вопрос. Я нашел проблему моего кода. В моем autoload.php я передал

$ autoload ['model'] = array ('coursemodel', 'admin / coursemodel');

Это две разные модели, но одна для веб-сайта и вторая для стороны администратора. Поэтому, когда я звонил названию модели. Проблема здесь с именем моей модели, которое конфликтовало, или вы можете сказать, что вызывала внешняя модель, которая не предназначена для администратора, и не было названного метода, такого как deletecour ($ elete).

Так вот почему пришла ошибка. Спасибо за ваши ответы и извините, что потратили время на эту глупую ошибку.

$ this-> coursemodel-> deletecour ($ далить);

0 голосов
/ 09 января 2019

у вашей модели ... имя вашего класса - верблюжий случай .. в документации codeigniter .. я где-то читал, чтобы использовать подчеркивание для именования классов с первым позже в качестве заглавной буквы ... измените название вашей модели с CourseModel на Course_model и попробуйте ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...