CodeIgniter方法不会在Openshift上加载

时间:2014-12-09 15:08:45

标签: php codeigniter openshift

我一直在关于这个问题的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“

我不确定某个地方是否有某个地方我错过了什么。但这让我非常沮丧。

1 个答案:

答案 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));