Laravel Framework | PHP & MySQL | Tutorials

David Carr

Laravel show zeros when using zerofill in Eloquent

When using Eloquent leading zeros are removed from integers data types. This is a problem when you want to display zero numbers in cases such as order numbers like 0034.

To achieve this in your model create an attribute filed, give the attribute a different name to the column in the database.  Note attributes are prefixed with get and end with Attribute.

Using str_pad to zero fill up to x zeros by passing the column to return an the number of digits wanted in total.

function getOrderNoAttribute() {
    return str_pad($this->id,4,'0',STR_PAD_LEFT);
}

Then when displaying the data reference the attribute

$model = Model::find(1);
$model->OrderNo;

 

Domains are often purchased from multiple providers, keeping track of where a domain is and its DNS settings can be tricky. Domain Mapper solves this by listing all your domains in one place. View your DNS settings and receive reminders to renew your domains. Try it today.

Support my work by donating with PayPal.

Subscribe to my newsletter

Subscribe and get my books and product announcements.

© 2009 - 2021 DC Blog. All code MIT license. All rights reserved.