Eloquent has a convenient feature called Accessors – you can define your own custom fields on top of existing in the database table. But then there’s an Eloquent property $appends – should we use it or not? And what’s the difference?
For those who don’t know or have forgotten: for example, if you have User model and fields first_name and last_name in the DB table, then you can create a function in app\User.php:
Then you have access to property full_name (in the function name it’s CamelCase, and the property name is with underscoresd, for example like this:
But here’s the thing – if you just return User object, it won’t contain full_name:
The result would look something like this:
Now this is the trick – in your User model you can add $appends attribute and list the fields that would automatically be appended:
Now that attribute will be automatically added to the previous JSON: