我的表enum
中有一个Schedule
列。我想更新列,但我不能。我的type
包含3个选项:common, template, revision
。
这不起作用。这个过程很顺利,但type
没有改变:
$schedule = Schedule::find($id);
$schedule->type = 'common';
$scehdule->save();
return $schedule;
但这可行:
$schedule = Schedule::find($id);
$schedule->fill(['type' => 'common']);
$scehdule->save();
return $schedule;
这也有效:
$schedule = Schedule::find($id);
unset($schedule->type);
$schedule->type = 'common';
$scehdule->save();
return $schedule;
问题是,如果我使用fill()
,我需要满足验证器。我只想更改一列,所以我想使用第一种方法。
有人可以建议吗?
答案 0 :(得分:0)
我遇到了与Laravel 5.3相同的问题。在数据库中使用枚举时,可以使用整数设置枚举。 1 =普通,2 =模板,3 =修订。
$schedule = Schedule::find($id);
$schedule->type = 1;
$scehdule->save();
return $schedule;
这会将日程表类型设置为" common"