【发布时间】:2020-05-02 19:13:20
【问题描述】:
我有以下突变器:
public function setFormattedCriteriaAttribute($value)
{
$this->attributes['formatted_criteria'] = serialize($value);
}
当我调用以下命令时,为什么它不更新 formatted_criteria 值 - 请注意该字段列在我的可填充属性数组中?
$jobAlert = JobAlert::findOrFail($id);
$jobAlert->update([
'frequency' => $request->frequency,
'criteria' => $criteria,
'formatted_criteria' => ['test']
]);
【问题讨论】:
-
是什么让你觉得它没有更新?
-
@patricus 我检查了数据库中的结果。其他值已更新,除了具有 mutator 的 formatted_criteria 值
-
你从
dd($jobAlert->isFillable('formatted_criteria'));得到什么? -
@patricus 我明白了。我知道它在我的可填充数组中,因为它在我创建时保存,而不是在我更新时保存。
-
@patricus 想通了......我将我的模型传递给使用上述代码作为 Jobalert $jobalert 而不是 JobAlert $jobalert 的方法