Красноречивая модель считается «грязной», несмотря на то, что базовые значения не изменились из-за зашифрованных значений - PullRequest
0 голосов
/ 04 января 2019

Есть ли способ предотвратить «грязную» модель eloquent, используя функцию $model->isDirty() при вызове $model->save() из-за нескольких зашифрованных атрибутов.

Некоторые свойства модели имеют свои методы доступа, переопределенные для шифрования и дешифрования их значений. Поэтому, если мы обновляем модель с помощью формы на внешнем интерфейсе, но ни одна из незашифрованных данных не изменилась, это все равно приводит к загрязнению модели и обновлению отметки времени updated_at.

Первоначальный "простой" способ, которым я могу придумать, - применять такую ​​логику везде, где мы обновляем модели.

public function update(Request $request, User $user) 
{
    if ($user->name !== $request->input('name')) {
        $user->name = $request->input('name');
    }

    ...

    $user->save();
}

Кто-нибудь может подумать о более быстром / более чистом способе сделать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...