2015-07-10 47 views
1

我知道在這個問題的平臺上的其他問題,但我有這個非常不尋常的問題。Codeigniter 3 - 無法找到您指定的模型

我有被自動加載在autoload.php和類是建立這樣的模型Company_Model.php

Class Company_Model extends CI_Model { 

    function __construct() 
    { 
     parent::__construct(); 
    } 

    public function foo() 
    { 
     echo 'bar'; 
    } 
} 

然而,當我加載頁面我仍然得到這個錯誤:

Codeignter 3 - Unable to locate the model you have specified

我在Apache 14.04上運行Apache 2,PHP 5.5.9,我找不到這個問題的錯誤日誌,現在我很困惑,任何幫助都會被感激地接收。

我檢查了StackOverflow的大寫和所有其他提示,但仍然沒有快樂。

編輯

自動加載代碼

$autoload['model'] = array('company_model');

+0

您可以從指定公司模型的autoload.php中發佈代碼嗎? – gabe3886

+1

嘗試改變類名'Company_Model'到'Company_model',改變你的文件名'Company_Model.php'到''company_model.php –

+0

@Uchiha試過,但沒有喜悅 –

回答

11

當您使用笨3,你必須確保你的類名和文件名只有第一個字母大寫,如下解釋

Class Naming Style Guide

Filename Style Guide

<?php 

class Company_model extends CI_Model { 

} 

和文件名,然後應該是Company_model.php

$autoload['model'] = array('company_model'); 

如果子文件夾中

模型>子文件夾> Company_model.php

$autoload['model'] = array('subfolder/company_model'); 

如果需要調用它的控制器僅

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

$this->company_model->function(); 

子文件夾

$this->load->model('subfolder/company_model'); 

$this->company_model->function(); 
+0

這是完美和工作感謝 –

+1

@JustinErswell爲什麼這個答案是完美的?什麼解決了你的問題?我看到的一切都和你一樣。 –

+0

歡迎光臨** ** Codeigniter 3 **所有的控制器和模型以及庫都需要有第一個關於類和文件名的字母作爲大寫。 – user4419336

0

確保你的類名和文件名應該是相同的,第一個字母應該是資本

示例

class Login extends CI_Model{ 
//some code 
} 

上面的代碼,你可以看到類Login第一個字母是capital.same名稱你保存你的模型文件名像登錄。php在您的項目文件夾的模型目錄中

相關問題