![](/img/trans.png)
[英]Troubleshooting codeigniter “Unable to locate the model you have specified…” error
[英]Unable to locate the model you have specified error in linuxmint
我一直在嘗試加載模型usersModel.php,但是我並沒有碰到這個錯誤,我已經檢查了我的代碼十多次,而我似乎在其中找不到錯誤。 在學校,我的代碼正在運行。 我認為這是因為我在庫中使用的是Windows 10 OS,但是當我回到家並在我的計算機上嘗試使用它時,它總是顯示上述錯誤。 我似乎無法理解
這是我的控制器的代碼:
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”
它在學校工作是因為Windows機器可以很好地使用UsersModel
文件名。 由於它不區分大小寫。
Codeigniter正在$this->load->model('usersModel');
上尋找UsersModel $this->load->model('usersModel');
行,但您的文件名不同。 另外,當您在codeigniter中加載模型時,即使您的類是UsersModel,也建議使用所有小寫字母。
Linux區分大小寫。 您應該將文件名與類名匹配。
您的模型類名稱應類似於
<?php
class Users_model extends CI_Model {
}
和文件名:
User_model.php
然后在加載到控制器上時
$this->load->model('user_model');
$this->user_model->get_some_function();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.