Laravel - Мутатор не работает при обновлении - PullRequest
0 голосов
/ 02 мая 2020

У меня есть следующий мутатор:

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']
]);

1 Ответ

0 голосов
/ 02 мая 2020

Убедитесь, что formated_criteria в вашей переменной $fillable.

Обновите

, если у вас есть массив приведений в вашей модели, измените иначе add.

protected $casts = [
        'formatted_criteria'    => 'array',
    ];

затем обновите поле как LONGTEXT с двоичным

...