0

我的控制器中有以下宁静功能

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();
    }

}

为什么我会收到此错误,我该如何解决?

4

2 回答 2

3

你需要再次命名你的模型,你与 Laravel 的内置事件类冲突。

<?php namespace Model;

class Event {

}

然后当你想调用它时,你调用它return Model\Event::all();

于 2013-04-08T06:56:40.443 回答
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
),
于 2013-04-08T08:12:18.877 回答