我在数据库中有一个视图表,我试图使用此代码更新其中的记录(或者如果它还不存在则创建它):
$ar = ['number_of_views' => $number_of_views['number_of_views']+1, 'post_id' => $post->id];
App\View::updateOrCreate(['id' => $number_of_views['id']], $ar);
不幸的是,这会返回错误:
SQLSTATE [HY000]:常规错误:1364字段' post_id'没有 默认值(SQL:插入
views
(number_of_views
,updated_at
,created_at
)值(1,2017-02-09 14:41:19,2017-02-09 14点41分19秒))
似乎它没有识别'post_id' => $post->id
因此返回错误,好像它根本没有设置。
只有在创建记录时才会出现此错误,如果已存在则不会出现此错误。
答案 0 :(得分:1)
您需要将post_id
字段添加到模型上的fillable属性中以进行质量分配,如下所示:
protected $fillable = ['post_id', 'number_of_views'];