我正在尝试使用 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);
}
}
您需要在使用 create
、 fill
或 update
时设置质量分配。看到这个答案。
删除 guarded
属性并创建一个名为 fillable
的新属性作为数组,其中包含允许使用批量分配更新的字段。
protected $fillable = ['title', 'url'];