Nie ma prostego sposobu na zrobienie tego, co oferuje Eloquent, więc musisz sam dodać trochę logiki.
Jedną z opcji byłoby przechowywanie student_no jako ciąg w bazie danych, w przeciwnym razie zera zostaną utracone, gdy zostaną pobrane jako liczba całkowita w PHP, ponieważ PHP nie dba o Twój ZEROFILL i traktuje 0005 jako 5 .
Inną opcją jest ręczne dodawanie zer w PHP po pobraniu danych z bazy, np. dodając akcesor w swoim modelu:
public function getStudentNoAttribute() {
return sprintf("%05d", $this->attributes['student_no']);
}
W ten sposób za każdym razem, gdy uzyskasz dostęp do student_no atrybut twojego modelu zostanie automatycznie przekonwertowany na ciąg wypełniony zerami.