Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment récupérer des données avec des zéros dans eloquent

Il n'y a pas de moyen simple de faire cela qu'Eloquent offrirait, vous devrez donc ajouter une certaine logique vous-même.

Une option serait de stocker student_no sous forme de chaîne dans la base de données, sinon les zéros seront perdus lorsqu'ils seront récupérés sous forme d'entier en PHP, car PHP ne se soucie pas de votre ZEROFILL et traite 0005 comme 5 .

Une autre option consiste à ajouter des zéros manuellement dans PHP après avoir récupéré les données de la base de données, par ex. en ajoutant un accesseur dans votre modèle :

public function getStudentNoAttribute() {
  return sprintf("%05d", $this->attributes['student_no']);
}

De cette façon, chaque fois que vous accédez à student_no attribut de votre modèle, il serait automatiquement converti en chaîne remplie de zéros.