Mysql
 sql >> Database >  >> RDS >> Mysql

Come recuperare dati con zeri in eloquente

Non esiste un modo semplice per farlo offerto da Eloquent, quindi dovresti aggiungere un po' di logica tu stesso.

Un'opzione sarebbe quella di memorizzare student_no come stringa nel database, altrimenti gli zeri andranno persi quando viene recuperato come numero intero in PHP, poiché PHP non si preoccupa del tuo ZEROFILL e tratta 0005 come 5 .

Un'altra opzione è aggiungere zeri manualmente in PHP dopo aver recuperato i dati dal database, ad es. aggiungendo un accessorio nel tuo modello:

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

In questo modo, ogni volta che accedi a student_no attributo del tuo modello verrebbe convertito automaticamente in una stringa con riempimento zero.