我是laravel的新手我正在使用updateorcreate模型。但是这显示错误MassAssignmentException end_time在Model Tasktimelog中我使用的是protected $ guarded = array();这就是我在做什么。
$endtask= Tasktimelog::updateOrCreate(
[
'task_id' => $taskid,
'action_type'=>4,
'user_id'=> auth()->id()
],
[
'end_time' => $endtimeis,
'total_time' => request('totalseconds'),
'remark' => request('remark'),
'actual_complete_time' => $diff,
'project_id' => $getprojectid->project_id
]);
答案 0 :(得分:0)
Laravel不允许您不指定数据库的大量更新字段:
您需要做的是将$ fillable变量添加到模型中,其中的字段可以大量更新:
class Tasktimelog extends Model
{
protected $fillable = ['task_id', 'action_type', 'user_id']; //and the rest of your fields
}
Laravel Doc:虽然$ fillable用作应该批量分配的属性的“白名单”,但您也可以选择使用$ guarded。 $ guarded属性应包含您不希望大量分配的属性数组。
https://laravel.com/docs/5.5/eloquent#eloquent-model-conventions