我一直在关于这个问题的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)Version / 8.0 Safari / 600.1.25“
我不确定某个地方是否有某个地方我错过了什么。但这让我非常沮丧。
答案 0 :(得分:0)
首先,这个:
$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));