Codeigniter, объявляющий переменную уровня класса в классе CI_Model - PullRequest
2 голосов
/ 21 сентября 2011

Я новичок в PHP и Codeigniter и объявляю переменную уровня класса, к которой я хотел получить доступ в классе модели.Я получаю сообщение об ошибке, что переменная не определена.Вот мой код:

 class Country_model extends CI_Model{
    protected $table = 'COUNTRY';
    function __construct()
    { // Call the Model constructor
        parent::__construct();
    }

    function retriveAll(){
        $q = $this->db->from($table)
          ->order_by('ID','ASC')
          ->get();
        if ($q->num_rows()>0){
            foreach ($q->result() as $row) {
                $data[] = $row;
            }
            return $data;
        }
    }
}

Я объявил $table и доступ к функции retriveAll.Пожалуйста, помогите мне.

Ответы [ 2 ]

5 голосов
/ 21 сентября 2011

Это не то, как вы получаете доступ к переменным класса.Попробуйте использовать $this->table вместо:

function retriveAll(){
     $q = $this->db->from($this->table)
          ->order_by('ID','ASC')
          ->get();
     if ($q->num_rows()>0)
    {
      foreach ($q->result() as $row) 
      {
        $data[] = $row;
      }
      return $data;
    }
   }
2 голосов
/ 21 сентября 2011

Доступ к вашей переменной класса с помощью $ this, например:

$this->table
...