Ошибка модуля HMVC - неопределенное свойство: модель - PullRequest
1 голос
/ 17 марта 2012

Итак, я получаю сообщение об ошибке: неопределенное свойство: badge_progress :: $ bp_model.

Я не понимаю, что происходит.Вот мой код:

Контроллер:

<?php
// Badge Progress Module

class badge_progress extends CI_Controller 
{
    function __construct()
    {
        parent::__construct();

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

        $data['dotpoints'] = $this->bp_model->dotpoints('1');
        $this->load->view('bp_view', $data);
    }
}

?>

Модель:

<?php
class bp_model extends CI_Model {

    function dotpoints($badge_id) {
        $query = $this->db->query("SELECT * FROM course_topic_dotpoints WHERE badge_id = ".$badge_id);

        if ($query->num_rows() > 0) {
            return $query->result();
        }
    }
}
?>

Ответы [ 2 ]

2 голосов
/ 17 марта 2012

Ах исправил это! Не осознавал, что основные контроллеры (контроллеры вне директории модуля) также должны были расширять "MX_Controller" вместо "CI_Controller".

0 голосов
/ 17 марта 2012

Имена классов должны начинаться с заглавной буквы.

class Badge_progress extends...

class Bp_model extends...

http://codeigniter.com/user_guide/general/controllers.html

http://codeigniter.com/user_guide/general/models.html

обновление:

Вы не должны иметь нужную логику в качестве функции в своем конструкторе.Создайте отдельную функцию для обработки содержимого точек.

<?php
// Badge Progress Module

class Badge_progress extends CI_Controller 
{
    function __construct()
    {
        parent::__construct();
        $this->load->model('bp_model');

    }

    function dotpoints()
    {
        $data['dotpoints'] = $this->bp_model->dotpoints('1');
        $this->load->view('bp_view', $data);
    }
}

Кроме того, вам не хватает конструктора в вашей модели.Проверьте те ссылки, которые я разместил ранее ...

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