Laravel:无法从Controller中访问Model中的方法

时间:2013-05-01 10:32:57

标签: methods laravel models controllers

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

我有一个带有索引方法的控制器(应用程序> 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


    ));
        }
}

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

  

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

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

以下是我的路线:

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

有人能看到任何明显我在这里做错的事吗?

由于

1 个答案:

答案 0 :(得分:2)

我解决了这个问题。 laravel已经开始上课了。我重命名了我的模型,一切正常