【问题标题】:Unable to locate the model you have specified error in linuxmint在 linuxmint 中找不到您指定的模型错误
【发布时间】:2016-01-15 03:23:46
【问题描述】:

我一直在尝试加载模型 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代码是否有区别。

顺便说一句,这是我得到的确切错误: "无法找到您指定的模型:usersmodel"

【问题讨论】:

    标签: php codeigniter pointers models linux-mint


    【解决方案1】:

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

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

    Linux 区分大小写。你应该将你的文件名与你的类名相匹配。

    【讨论】:

    • 首字母大写
    【解决方案2】:

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

    <?php
    
    class Users_model extends CI_Model {  
    
    }
    

    和文件名:

    User_model.php
    

    然后在加载到控制器时

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-04-14
      • 2012-08-15
      • 1970-01-01
      • 2017-05-06
      • 2015-12-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多