我的预订模型中有一列将日期时间存储为reservation_datetime
,但在我的表单中,我将其拆分为两个单独的字段(日期和时间html5输入)。
我创建了一个setter mutator来存储从两个输入派生的日期,但是在插入记录时没有任何内容保存到reservation_datetime
列中。
这是我的改变者
public function setReservationDatetimeAttribute($value)
{
return $this->attributes['reservation_datetime'] = $this->date . " " . $this->time;
}
我注意到如果我将伪输入放入我的$fillable
数组(reservation_datetime
已经存在),那么我可以将mutator设置为正确的值,但这会导致其他问题ORM正在尝试保存date
和time
列,这些列显然不存在会导致保存错误。
答案 0 :(得分:2)
Mutators是错误的工具。在控制器中手动设置reservation_datetime
。
突变体意味着反过来使用。例如,如果您的表单有一个要分割成两个字段的字段,或者只是改变单个属性的值。
将两个属性合二为一,根本不是变异人的意思。