拉拉维尔创建方法


Laravel create method

我正在尝试使用 Laravel 的 create 方法存储数组

$input = Input::all();
$new_media = $this->media->create($input);

$input = Input::all();
$new_media = Media::create($input);

这两个代码都不起作用。

这是我遇到的错误。

Method [create] does not exist.

拉维尔文档在这里 http://laravel.com/docs/4.2/eloquent

来自 laravel 文档

// Create a new user in the database...
$user = User::create(array('name' => 'John'));

媒体模型

<?php
class Media extends Eloquent {
    protected $table = 'media';
    protected $guarded = array();
    public static $rules_video = array(
        'title' => 'required',
        'url' => 'required'
    );
    public static $rules_image = array(
        'title' => 'required'
    );
    public function category(){
        return Category::find($this->category_id);
    }
}

您需要在使用 createfillupdate 时设置质量分配。看到这个答案。

删除 guarded 属性并创建一个名为 fillable 的新属性作为数组,其中包含允许使用批量分配更新的字段。

protected $fillable = ['title', 'url'];