logOnlyDirty() -> logOnly(['*']) -> dontSubmitEmptyLogs(); } public $incrementing = false; /** * @var string[] */ protected $fillable = [ 'id', 'user_id', 'payment_id', 'payment_method', 'status', 'type', 'amount', 'price', 'tax_value', 'total_price', 'tax_percent', 'currency_code', 'shop_item_product_id', ]; public static function boot() { parent::boot(); static::creating(function (Payment $payment) { $client = new Client(); $payment->{$payment->getKeyName()} = $client->generateId($size = 8); }); } /** * @return BelongsTo */ public function user() { return $this->belongsTo(User::class); } /** * @param mixed $value * @param string $locale * @return float */ public function formatToCurrency($value, $locale = 'en_US') { $formatter = new NumberFormatter($locale, NumberFormatter::CURRENCY); return $formatter->formatCurrency($value, $this->currency_code); } }