使用laravel控制器调用Undefined方法

时间:2015-03-14 15:22:41

标签: input laravel-4 controller

这是我在尝试使用我的控制器发布事件时遇到的错误

$ event = new Event();

        $event->name=Input::get('Name');
        $event->description=Input::get('description');
        $event->location=Input::get('location');
        $event->start=Input::get('start');
        $event->end_date=Input::get('end');
        $event->deadline=Input::get('deadline');

        $event->save();

1 个答案:

答案 0 :(得分:0)

Event是Laravel框架中Event外观的全局别名。您实际上在使用Laravel的课程,而不是实例化您的模型。要解决这个问题,你有几个选择:

1。命名空间

这实际上是发明命名空间的原因。避免命名冲突。您可以将所有模型放在命名空间中,例如App(这就是Laravel 5的结构方式)

请注意,您必须按名称空间引用模型。像:

$event = new \App\Event();

或者使用use语句导入它:

use App\Event;

Read more about namespaces

2。重命名模型

这是显而易见的。只需将模型名称更改为其他名称即可 例如EventModelFooEventEvnt等......

不要忘记添加隐式表名,因为Laravel再也无法从类名中派生它了:

protected $table = 'events';

3。删除别名

您也可以删除全局别名。转到app/config/app.php并删除此行:

'Event'             => 'Illuminate\Support\Facades\Event',