Laravel数据库插入错误

时间:2014-04-28 11:00:41

标签: php mysql laravel laravel-4 eloquent

我尝试使用 laravel 4 eloquent model 将数据插入数据库。但抛出错误:

"Call to undefined method Illuminate\Support\Facades\Request::save() "

我是laravel的新手,不知道我哪里出错了。

我的UsersController.php代码

public function postRequest() { 
    $request = new Request;
    $request->vms = Input::get('vms');
    $request->location = Input::get('location');
    $request->descr = Input::get('descr');
    $request->status = Input::get('status');
    $request->save();
}

我的Request.php模型

<?php

class Request extends Eloquent {

    protected $table = 'requests';
    protected $fillable = array('vms', 'location', 'descr', 'status');

    public function ruser() {
        return $this->hasOne('Ruser'); // this matches the Eloquent model
    }
}

2 个答案:

答案 0 :(得分:3)

问题是您的Request模型名称与Laravel Request类冲突。您有两种选择:

1)命名空间你的模型:

<?php namespace App;

class Request extends Eloquent {

  ...

}

然后将其用作:

$request = new App\Request;

2)重命名模型。

答案 1 :(得分:2)

看起来像是你的laravel“Request”门面,而不是你的Request模型。

您是否可以尝试使用正确的命名空间为新的类调用添加前缀?

$request = new yourname\yourpackage\Request();

或者,最重要的是,将其称为其他内容?