You can create custom casts to have Laravel automatically format your Eloquent model data. Here's an example that capitalises a user's name when it is retrieved or changed.
class CapitalizeWordsCast implements CastsAttributes{ public function get($model, string $key, $value, array $attributes) { return ucwords($value); } public function set($model, string $key, $value, array $attributes) { return ucwords($value); }} class User extends Model{ protected $casts = [ 'name' => CapitalizeWordsCast::class, 'email' => 'string', ];}
Tip given by @mattkingshott
Enjoyed This Tip?
Get access to all premium tutorials, video and text courses, and exclusive Laravel resources. Join our community of 10,000+ developers.
Recent Courses on Laravel Daily
[NEW] Practical Laravel Security: Packages, Secrets, Supply-Chain Attacks
7 lessons
43 min read
Laravel 13 Starter Kit Teams and Customizations
10 lessons
33 min
How to Structure Laravel 13 Projects
16 lessons
1 h 32 min read