2014-06-05 61 views
0

我已經創建了一個示例模型:模型像「爲MyModel」(雙字)不加載

class ExampleModel extends Eloquent { 
    protected $table = 'example_model'; 
} 

然後我試圖調用ExampleModel::all()其返回錯誤function all() does not exist(好像創建類,但沒有鋒功能)。將模型名稱(和文件名)更改爲Examplemodel(現在型號名稱是一個字)後,它可以工作。問題不在於我拼寫錯誤,因爲我檢查了一百次,並且我的文件+類名匹配。

我缺少一些關於自動加載的內容嗎?

我在Windows上,所以我也嘗試更改文件名到Examplemodel而不更改類名,但它仍然似乎加載沒有Eloquent方法的類。

+0

您是否檢查過模型類的文件名?它應該與提到的類名相同。 – Daenarys

+0

@Infinity是的,我甚至複製和粘貼的情況下,我錯過了一些信。 – Linek

回答

0

我發現了一個問題。我的班級和我的模特一樣。 Laravel是帶有遷移的自動加載模型,它認爲我指的是遷移而不是模型。

修好後,當然我不得不運行dumpautoload作曲家的命令。

0

創建模型文件夾中的文件使用example.php然後寫:

class Example extends Eloquent { 
    protected $table = 'example_model'; 
} 

,然後嘗試:從here

+0

是的,這將起作用。事情是我需要幾個以'History'開始的模型,比如HistoryXxx,HistoryYyy,HistoryZzz。 – Linek

+0

樂意幫助 – num8er

1

採取

Example::all(); 

你做自動加載(dumpautoload )

因爲這種情況對我有用。

1

待辦事項作曲家轉儲自動加載 至於我下面的作品:

class ExampleTest extends \Eloquent { 
protected $table = 'users'; 

}

然後在routes文件我有:

Route::get('/', function() 
{ 
    $data = ExampleTest::all(); 

    return $data; 

}); 

這使我從數據我的用戶表。