Я обсуждал этот вопрос на форуме CodeIgniter. Поэтому я попробую это здесь. Я не могу получить какие-либо из моих методов для загрузки в CodeIgniter. Я запускаю свое приложение на OpenShift.
Если я загружу модель таким образом "$this-> load-> model ('nav_m_model')", я получаю пустой экран. Если я загружу модель таким образом "$this-> load-> model ('nav_m')", я получаю сообщение об ошибке CI:
Произошла ошибка. Не удалось найти указанную модель: nav_m
Вот мой код.
контроллеры /welcome.php
class Welcome extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->model('nav_m');
}
public function index()
{
$this->load->view('header');
$this->load->view('welcome_message');
$this->load->view('footer');
}
private function create_menu() {
$data['query'] = $this->nav_m->get_active_albums();
print_r($data);
}
}
/* End of file welcome.php */
/* Location: ./application/controllers/welcome.php */'
модели /nav_m_model.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Nav_m_model extends CI_Model {
public function __construct() {
parent::__construct();
}
public function get_active_albums() {
$query = $this->db->get_where('albums', array('is_active' = 1));
return $query->result();
}
}
Наконец, независимо от того, каким образом я это делаю, я получаю следующую ошибку в журналах:
[09/Dec/2014: 10: 04: 06 -0500] "GET/HTTP/1.1" 500 1183 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.1.25 (KHTML, например Gecko) Версия /8.0 Safari/600.1.25 "
Я не уверен, есть ли где-то где-то, что мне не хватает или что. Но это меня очень расстроило.
Во-первых, это:
$query = $this->db->get_where('albums', array('is_active' = 1));
должно быть:
// => instead of = in array declaration
$query = $this->db->get_where('albums', array('is_active' => 1));
$this->load->model('nav_m_model')
. 2) Работало ли на localhost? 3) Правильно ли загружается представление, когда вы опускаете какие-либо ссылки на эту конкретную модель? 4) Вы установили сообщение об ошибке E_ALL?