Laravel accessors and mutators for attribute handling

5008
0

Accessors and mutators transform model attributes when retrieving or setting values. Accessors format data for presentation—converting cents to dollars, concatenating names, or generating computed properties. Mutators normalize input—hashing passwords, sanitizing HTML, or formatting phone numbers. I use attribute casting for automatic type conversion—dates to Carbon, JSON to arrays, encrypted strings. The modern approach uses single methods with Attribute return types combining get/set logic. Accessors never appear in database queries or toArray() unless appended. Mutators run before saving, ensuring data consistency. This pattern keeps data transformation logic centralized in models rather than scattered across controllers.