我已将我的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上工作正常。任何人都可以帮助我,我错了。
我发现了修复。问题是文件名。该模型未加载,因为文件名是Login.php
。所以我将文件名从Login.php
更改为login.php
并开始工作。
Codeigniter始终关注文件名及其用法。在创建任何控制器和模型的文件名期间,您应该使用Capital Form。有时它不会在本地服务器中产生问题。但它在Linux服务器在线产生问题。
您应该知道的另一个重要事项是,您将始终匹配文件名和类名。
您可以在下面看到代码作为示例
楷模 Studentmodel.php Clientmodel.php
控制器 Studentcontroller.php ClientController.php