2013-04-08 23 views
0

我在控制器中的下列寧靜的功能我不能處理的異常錯誤在我的PHP項目中,我使用Laravel

public function get_index() 
{ 
    return Event::all(); 
} 

但它返回以下錯誤

Unhandled Exception 

Message: 

Call to undefined method Laravel\Event::all() 
Location: 

/Applications/MAMP/htdocs/calendar/application/controllers/home.php on line 8 

這裏是我的完整控制器

class Home_Controller extends Base_Controller { 
    public $restful = true; 

    public function get_index() 
    { 
     return Event::all(); 
    } 

} 

爲什麼我得到這個錯誤,我該如何解決它?

+0

有什麼'Event'類?顯然它沒有'all()'方法。 – Maerlyn 2013-04-08 06:50:08

+0

事件是一個模型。我想使用all()函數從數據庫中檢索數據。 – 2619 2013-04-08 06:52:44

+0

Maerlyn是對的,Event類沒有all()方法。所以除非你自己實現了all()的自定義事件,否則你可能需要刪除那一行。 – 2013-04-08 06:52:59

回答

2

命名空間調用它,類必須進行註冊。

//application/start.php 

Autoloader::map(array(
    'Modelpath' => path('event').'models/event.php', //path to your directory and class 
)); 

Autoloader::namespaces(array(
    'Model' => path('Modelpath'), 
)); 

如果你不喜歡叫你的類它的命名空間,你可以定義一個別名:

//application/config/application 
'aliases' => array(
    ... 
    'Event' => 'models\\Event' //path and filaname of your class without extension 
), 
3

同樣,您需要命名空間模型,您與Laravel內置的Events類衝突。

<?php namespace Model; 

class Event { 

} 

然後當你要調用它,你與return Model\Event::all();

+0

現在它返回這個錯誤'Class'Model \ Event'not found' – 2619 2013-04-08 06:59:51

相關問題