Open felipeArnold opened 2 months ago
Mesma coisa aqui
Eu tô refatorando, mas ainda não tenho data de lançamento
Eu vi que já houve uma tentativa de corrigir, porém ainda sem efeito:
$this->dehydrateStateUsing( fn ($state): ?float => $state ? floatval( Str::of($state) ->replace('.', '') ->replace(',', '.') ->toString() ) : null );
O valor está sendo salvo assim:
update
travel_packs SET
price= 69000,
travel_packs.
updated_at= '2024-04-19 19:01:01' WHERE
id= 2
Porém o valor correto é R$ 690,00
O valor está sendo salvo assim:
update
travel_packsSET
price= 69000,
travel_packs.
updated_at= '2024-04-19 19:01:01' WHERE
id= 2
Porém o valor correto é R$ 690,00
Eu implementei uma mudança provisória no meu sistema, onde eu criei um service provider que substitui o método dehydrateMask
original do Money, por esse método:
`public function dehydrateMask(bool|Closure $condition = true): static {
if ($condition) {
$this->dehydrateStateUsing(
fn($state): ?float => $state ?
(float)Str::of($state)
->replace('.', '')
->replace(',', '.')
->toString() :
null
);
} else {
$this->dehydrateStateUsing(null);
}
return $this;
}`
A grande diferença é que este método não está multiplicando por 10 o estado. Não sei exatamente qual era o objetivo do Leandro ao fazer essa multiplicação, mas por aqui está funcionando legal por enquanto.
Alguma novidade, meu caro leandrocfe?
What happened?
Ao utilizar o component Money o campo de valor salva correto, conforme a primeira e segunda imagem, porém ao editar e não mexer no campo e não alterando nada e salvar o valor é multiplicado vezes 10, conforme a 3 imagem, analisando o código verifiquei que está realmente fazendo a multiplicação do valor decimal vezes 10.
Estou utilizando uma coluna decimal:10,2 e no meu model estou adicionado aos casts que esse campo é um decimal:2.
Alguma alternativa para não ser feito modificação no código podendo afetar mais usuários?
Função que faz a alteração de valor.
How to reproduce the bug
Imagem 1:![image](https://github.com/leandrocfe/filament-ptbr-form-fields/assets/44820260/6d29bc29-15a9-4a56-ae51-2afa43103d36)
Imagem 2:![image](https://github.com/leandrocfe/filament-ptbr-form-fields/assets/44820260/c1d0041a-da86-405d-84da-d9428c0228dc)
Imagem 3:![image](https://github.com/leandrocfe/filament-ptbr-form-fields/assets/44820260/30f64ac2-9442-4adc-8d87-90686aa2d41c)
Package Version
3.0.6
PHP Version
8.2.0
Laravel Version
11.4
Which operating systems does with happen with?
No response
Notes
No response