我的一个控制器访问模型中的方法时遇到问题。
我有一个带有索引方法的控制器(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'));
谁能看到我在这里做错了什么明显的事情?
谢谢