Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como recuperar dados com zeros em eloquente


Não há uma maneira direta de fazer isso que o Eloquent ofereceria, então você precisaria adicionar alguma lógica por conta própria.

Uma opção seria armazenar student_no como uma string no banco de dados, caso contrário, zeros serão perdidos quando for buscado como um inteiro no PHP, pois o PHP não se importa com seu ZEROFILL e trata 0005 como 5 .

Outra opção é anexar zeros manualmente no PHP após buscar dados do banco de dados, por exemplo. adicionando um acessador em seu modelo:
public function getStudentNoAttribute() {
  return sprintf("%05d", $this->attributes['student_no']);
}

Dessa forma, sempre que você acessar student_no atributo do seu modelo, ele seria convertido em string preenchida com zero automaticamente.