Not quite sure what your goal is, but consider using something like this package here to have a nice and clean history for certain models which is stored in a separate table:
https://spatie.be/docs/laravel-activitylog/v4/introduction
Also, you can specify the exact columns that should be watched.
@pikant I don't think that is going to help in this case
In my case the goal is simply to get the timestamp of when the checkboxes were updated last (need to display it alongside the rest of the data of that row)
@Ligonsker Alright. In this case, your approach might be the easiest solution.
As Snapey mentioned, you can either do it manually or you can create a mutator for each of the checkboxes that also touches the related _updated_at attribute. Might be a little cleaner and fail-safer.
@Tray2 this is a good option, but when I thought about it, I prefer to keep it in code because I can see it might break integrity if small changes happen, especially when I'm not in charge of the DB
@Ligonsker I wouldn't worry about that, we use the same technique in our production databases and we register a litteral shit load of data every day, and since it's in it's own table there is no integrity issues.
You just need to have the tables primary key in the log table (I forgot to add it to the illustration). You can also register the action (insert, update and delete).