无法找到您在linuxmint中指定错误的模型

时间:2016-01-15 03:23:47

标签: php codeigniter pointers models linuxmint

我一直在尝试加载模型usersModel.php,但我没有幸运能够解决这个错误 我已经检查了十几次我的代码,而且我似乎无法在其中找到错误。 在学校,我的代码正在运作。我认为这是因为我在库中使用的是Windows 10操作系统,但是当我回到家中并在我的机器上尝试它时,它总是显示上面的错误。我似乎无法理解

这是我的控制器的代码:

class Login extends CI_Controller{
    public function __construct(){
            parent::__construct();
        }    
    function validate(){
        $this->form_validation->set_rules('username', 'Username', 'trim|required|callback_checkuser');
        $this->form_validation->set_rules('password', 'Password', 'md5|trim|required');
        $x = $this->form_validation->run();
        if($x){
            if($this->session->userdata('is_logged_in') == 1){
                $this->load->model('balancesModel');
                $this->balancesModel->b1_update();
                $this->balancesModel->b2_update();
                $this->balancesModel->b3_update();
                redirect((base_url()) . 'admin/tenants');
            }else{
                redirect((base_url()) . 'main/payments');
            }
        }else{
            $x['title'] = "CPMS - Login";
            $x['error'] = "incorrect username/password";
            $this->load->view('startpage', $x);
        }
    }

    function checkuser(){
    $this->load->model('usersModel'); //this part is where the error starts
        $x = $this->usersModel->get_user();
        if($x){
            return true;
        }else{
            return false;
        }
    }
}

这是我的usersModel的代码: 我已经尝试了很多教程来定位模型,但似乎没有任何东西可以用于我的代码

class UsersModel extends CI_Model{  
        function get_user(){
            $username = $this->input->post('username');
            $password = md5($this->input->post('password'));
            $query = "select * from admin where username='$username' and password='$password'";
            $x = $this->db->query($query);
            if($x){
                if($x->num_rows() > 0){
                    $username = $this->input->post('username');
                    $data = array(
                                'username' => $username,
                                'is_logged_in' => 1
                            );
                    $this->session->set_userdata($data);
                    return true;
                }
            }
        }
    }

我将不胜感激任何建议,我将解决此错误。 我也想知道在windows和linux OS中编写php代码是否有区别。

<顺便说一下,这是我得到的确切错误: &#34;无法找到您指定的模型:usersmodel&#34;

2 个答案:

答案 0 :(得分:0)

它在学校工作,因为Windows机器可以正常使用UsersModel的文件名。由于它不区分大小写。

Codeigniter正在$this->load->model('usersModel');行查找UsersModel,但您的文件名不同。此外,当您在codeigniter中加载模型时,建议使用全部小写,即使您的类是UsersModel。

Linux区分大小写。您应该将您的文件名与您的班级名称相匹配。

答案 1 :(得分:0)

您的模型类名称应该类似于

<?php

class Users_model extends CI_Model {  

}

和文件名:

User_model.php

然后加载到控制器

$this->load->model('user_model');

$this->user_model->get_some_function();