Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So rufen Sie Daten mit Nullen in Eloquent ab

Es gibt keinen direkten Weg, den Eloquent anbieten würde, also müssten Sie selbst etwas Logik hinzufügen.

Eine Möglichkeit wäre, student_no zu speichern als String in der Datenbank, sonst gehen Nullen verloren, wenn es als Integer in PHP abgerufen wird, da PHP sich nicht um Ihr ZEROFILL kümmert und behandelt 0005 als 5 .

Eine andere Möglichkeit besteht darin, Nullen manuell in PHP anzuhängen, nachdem Daten aus der Datenbank abgerufen wurden, z. indem Sie Ihrem Modell einen Accessor hinzufügen:

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

Auf diese Weise immer dann, wenn Sie auf student_no zugreifen Attribut Ihres Modells automatisch in eine mit Nullen gefüllte Zeichenfolge konvertiert.