2013-05-01 80 views
0

我遇到了一个控制器访问模型中的方法的问题。Laravel:无法从模型中访问模型中的方法

我有一个控制器(应用>控制器> event.php)具有索引方法:

class Event_Controller extends Base_Controller { 
    public $layout = 'layouts.default'; 
    public $restful = true; 
    public function get_index() 
    { 

     $category  = (isset($_GET['category']))? $_GET['category'] : NULL; 
     $date   = (isset($_GET['date']))? $_GET['date'] : NULL; 
     $county   = (isset($_GET['county']))? $_GET['county'] : NULL; 
     $events   = Event::get_event_list($category, $date, $county); 

     $this->layout->title = 'Events'; 
     $this->layout->nest('content', 'event.index', array(
      //'data' => $some_data 


    )); 
     } 
} 

和模型(应用>模型> event.php):

class Event extends Eloquent{ 
    public static function get_event_list($category = null, $month = null, $county = null) 
    { 
     $events = DB::table('events'); 

     if($month)  
      $events->where('dtDateTime', 'LIKE', $month.'-%'); 

     if($category) 
      $events->where('strCategories', 'LIKE', '%['.$category.']%');  

     if($county) 
      $events->where('strCounty', 'LIKE', '%'.$tag.'%'); 

     return $events->order_by('dtDateTime', 'DESC')->get(); 


    } 
} 

如果我在调用控制器中的方法(即Eventsx :: ....)时更改模型名称,则会出现该模型不存在的错误,因此我知道它可以找到该模型,但是当我尝试并运行这个(或者调用模型中的任何其他方法),我会得到t他错误:

Call to undefined method Laravel\Event::get_event_list()

我也有类似的控制器访问类似的方法,在他们的模型,但由于某些原因,它没有在这里打球。控制器可以访问其他模型中的方法而不会出现问题。

这里是我的路线:

Route::get('/events', array('as' => 'event', 'uses' => '[email protected]')); 
Route::get('/events/(:any)', array('as' => 'event', 'uses' => '[email protected]')); 

任何人都可以看到任何昭然若揭说我做错了什么?

谢谢

回答

2

我解决了它。班级活动已经由laravel拍摄。我重命名了我的模型,并且一切正常。

+1

您也可以使用命名空间。 – 2013-05-01 11:56:23

+0

谢谢。我会看看这个。 – Fraser 2013-05-01 12:31:57