1

我的一个控制器访问模型中的方法时遇到问题。

我有一个带有索引方法的控制器(application>controllers>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


    ));
        }
}

和模型(应用程序>模型>事件.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::....),我会收到模型不存在的错误,所以我知道它可以找到模型,但是当我尝试运行它(或调用模型中的任何其他方法),我得到错误:

调用未定义的方法 Laravel\Event::get_event_list()

我有类似的控制器在他们的模型中访问类似的方法,但由于某种原因,它不是在这里打球。控制器可以毫无问题地访问其他模型中的方法。

这是我的路线:

Route::get('/events', array('as' => 'event', 'uses' => 'Event@index'));
Route::get('/events/(:any)', array('as' => 'event', 'uses' => 'Event@event'));

谁能看到我在这里做错了什么明显的事情?

谢谢

4

1 回答 1

3

我解决了。class Event 已经被 laravel 处理了。我重命名了我的模型,一切正常

于 2013-05-01T10:44:39.120 回答