在控制器Codeigniter 2.2.6中加载模型时遇到问题

问题描述 投票:0回答:2

我已将我的Codeigniter设置在我的实时网站的子文件夹中,例如。 www.example.com/project/ci。当我试图在我的控制器内加载模型时,我得到Unable to locate the model you have specified的错误。我已经将$config['base_url']改为/project/ci内的application > config > config.php

我们放在应用程序文件夹的views文件夹中的模板文件工作正常,但模型没有加载。我在Login里面有一个application > models > admin > Login.php模型。

这是我的控制器的代码我称之为模型。

<?php
if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class Home extends CI_Controller {

    public function __construct() {
        parent::__construct();
        $this->load->library('session');
        $this->load->helper('form');
        $this->load->helper('url');
        $this->load->helper('html');
        $this->load->database();
    }
    public function admin_login()
    {
            $this->load->model('admin/Login');
            $result = $this->Login->get_user_details();
            print_r($result);
    }
}

这是我的模型的代码:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Login extends CI_Model
{
    function __construct()
    {
        // Call the Model constructor
        parent::__construct();

    }
    //get the username & password
    function get_user_details()
    {
        echo "coming";
    }
}
?>

我从视图中调用函数admin_login和ajax。这是我的脚本代码调用函数admin_login

 var ajaxURL = "<?php echo base_url();?>admin/Home/admin_login/"; //url of controller
 jQuery.post(ajaxURL, function(data)
 {
     alert(data);
 });

这段代码在xampp上工作正常。任何人都可以帮助我,我错了。

codeigniter model codeigniter-2
2个回答
0
投票

我发现了修复。问题是文件名。该模型未加载,因为文件名是Login.php。所以我将文件名从Login.php更改为login.php并开始工作。


0
投票

Codeigniter始终关注文件名及其用法。在创建任何控制器和模型的文件名期间,您应该使用Capital Form。有时它不会在本地服务器中产生问题。但它在Linux服务器在线产生问题。

您应该知道的另一个重要事项是,您将始终匹配文件名和类名。

您可以在下面看到代码作为示例

楷模 Studentmodel.php Clientmodel.php

控制器 Studentcontroller.php ClientController.php

© www.soinside.com 2019 - 2024. All rights reserved.