Hi, my name is David Carr and I'm a PHP Developer.


Blog Archives Categories Authors About Me Open Source Books Contact Me

Sponsor Me

Help support the blog so that I can continue creating new content!

My Latest Book

Laravel: The Modular way

Learn how to build modular applications with Laravel Find out more

Laravel show zeros when using zerofill in Eloquent

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;

 

Copyright © 2009 - 2022 David Carr. All code MIT license. All rights reserved.