user_id)->lock(true)->find(); if (!$user) { throw new \Exception(__("The user can't find it")); } if (!$model->memo) { throw new \Exception(__("Change note cannot be blank")); } $model->before = $user->money; $user->money += $model->money; $user->save(); $model->after = $user->money; } public static function onBeforeDelete(): bool { return false; } public function getMoneyAttr($value): string { return bcdiv((string) $value, '100', 2); } public function setMoneyAttr($value): string { return bcmul((string) $value, '100', 2); } public function getBeforeAttr($value): string { return bcdiv((string) $value, '100', 2); } public function setBeforeAttr($value): string { return bcmul((string) $value, '100', 2); } public function getAfterAttr($value): string { return bcdiv((string) $value, '100', 2); } public function setAfterAttr($value): string { return bcmul((string) $value, '100', 2); } public function user(): BelongsTo { return $this->belongsTo(User::class, 'user_id'); } }