Get list and default value of columns of table with Eloquent
If I’m fully understanding your need, the best approach would be to set the defaults at the database level. If a record is saved with a null value for that attribute, it will automatically get the default value set at the database level.  The end result is much cleaner code and no extra processing needs during data load as the default is there at rest.

In the migration, for example, $table-&gt;string(‘favorite_color’)-&gt;default(‘Blue’);  , as described at https://laravel.com/docs/master/migrations#column-modifiers

Would this solve your need? If not, it probably means your need is contextual, and that this default doesn’t always need to apply. Think critically about that context and what it represents. It might indicate a difference in data which might cause further problems down the road. 

I hope this helps!