CpfCast
O CpfCast transforma dados de CPF (Cadastro de Pessoas Físicas).
Parâmetros e Opções
Este Cast aceita a configuração do comportamento de armazenamento via DBType. Consulte a página principal de Casters para entender como configurar o formato de armazenamento padrão globalmente via config ou localmente por atributo.
Exemplo de Uso
use Illuminate\Database\Eloquent\Model;
use SSolWEB\LaravelBrHelper\Casts\CpfCast;
use SSolWEB\LaravelBrHelper\Enums\DBType;
class MyModel extends Model
{
protected function casts(): array
{
return [
// No banco: '12345678909', na leitura ($model->cpf1): '123.456.789-09'
'cpf1' => CpfCast::dbType(DBType::STRING),
// No banco: 2345678909, na leitura ($model->cpf2): '023.456.789-09'
'cpf2' => CpfCast::dbType(DBType::INTEGER),
// No banco: '123.456.789-09', na leitura ($model->cpf3): '123.456.789-09'
'cpf3' => CpfCast::dbType(DBType::FORMATTED),
];
}
}
Resultados Esperados
- Sucesso:
- Valores limpos na entrada serão exibidos e retornados na instância do Eloquent no formato
XXX.XXX.XXX-XX. - A conversão de volta para o banco dependerá do
DBTypeconfigurado.
- Valores limpos na entrada serão exibidos e retornados na instância do Eloquent no formato
- Tratamento de Valores Especiais e Limitações:
- Caso o valor informado seja
null, vazio ("") ou de um tipo inválido (comoarrayouboolean), o cast retornará e salvaránull. - Entradas com menos de 11 dígitos (após a remoção de caracteres não numéricos) receberão preenchimento de zeros à esquerda (
padL) para atingir 11 dígitos antes da formatação ou de serem salvas. - Entradas com mais de 11 dígitos numéricos serão truncadas (cortadas após o décimo primeiro dígito).
- Caso o valor informado seja