模型创建方法不起作用

时间:2016-02-19 13:43:53

标签: laravel-5 eloquent

我有以下代码行来确定数据库中是否存在记录,如果确实存在,则相应地更新它,如果没有创建它:

$test = Result::where('match_id','=',$input['id'])->get();

    if(empty($test)){
        Result::create($result);
    } else {
        Result::where('match_id','=',$input['id'])->update($result);
    };

    return redirect('admin/results');

更新部分工作得很好,但是创建元素似乎不起作用。当我剥离并使用创建它工作正常,所以无法找出问题

1 个答案:

答案 0 :(得分:1)

您必须在模型中将属性设置为可填写:

protected $fillable = ['a','b'];

还有更好的方法:

Result::updateOrCreate(['match_id'=>$input['id']], ['a'=>$input['a'],'b'=>$input['b']])