【问题标题】:Laravel database Insert errorLaravel 数据库插入错误
【发布时间】:2014-04-28 11:00:41
【问题描述】:

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

"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
    }
}

【问题讨论】:

    标签: php mysql laravel laravel-4 eloquent


    【解决方案1】:

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

    1) 命名您的模型:

    <?php namespace App;
    
    class Request extends Eloquent {
    
      ...
    
    }
    

    然后将其用作:

    $request = new App\Request;
    

    2) 重命名您的模型。

    【讨论】:

    • 啊,你分分钟打败我:)
    【解决方案2】:

    似乎您使用的是 laravel 的“Request”外观,而不是您的 Request 模型。

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

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

    或者,最重要的是,给它起别的名字?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-17
      • 1970-01-01
      • 2013-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-27
      相关资源
      最近更新 更多