Laravel创建方法

时间:2014-12-04 11:42:40

标签: php laravel laravel-4

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

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

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

这两个代码都不起作用。

这是我遇到的错误。

Method [create] does not exist.

Laravel文档http://laravel.com/docs/4.2/eloquent

来自laravel docs

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

}

1 个答案:

答案 0 :(得分:4)

使用createfillupdate时,您需要设置Mass Assignments。请参阅this answer

删除您的guarded媒体资源,并创建一个名为fillable的新媒体作为数组,其中包含要使用质量分配更新的允许字段。

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