PHPackages                             rmoore/change-recorder - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. rmoore/change-recorder

ActiveLibrary[Database &amp; ORM](/categories/database)

rmoore/change-recorder
======================

records changes made to laravel models

1.1.31(8y ago)363[2 PRs](https://github.com/RMoorePHP/change-recorder/pulls)1MITPHP

Since Aug 11Pushed 6y ago1 watchersCompare

[ Source](https://github.com/RMoorePHP/change-recorder)[ Packagist](https://packagist.org/packages/rmoore/change-recorder)[ RSS](/packages/rmoore-change-recorder/feed)WikiDiscussions master Synced yesterday

READMEChangelog (7)Dependencies (9)Versions (11)Used By (1)

[![StyleCI](https://camo.githubusercontent.com/c59379a2f3836bec096eb226f6fd70a7124c4802238b69a22a8315a5830bdf78/68747470733a2f2f7374796c6563692e696f2f7265706f732f36333335363236342f736869656c64)](https://styleci.io/repos/63356264)[![Build Status](https://camo.githubusercontent.com/aec8add184fd7151e43974b2a866509101054f0d9dd532a990d97e6264d0f241/68747470733a2f2f7472617669732d63692e6f72672f524d6f6f72655048502f6368616e67652d7265636f726465722e737667)](https://travis-ci.org/RMoorePHP/change-recorder)

Records changes made to eloquent models (such as update/create/delete) and provides methods to check a models history

to install `composer require rmoore/change-recorder`

add `RMoore\ChangeRecorder\ChangeRecorderServiceProvider::class` to the providers array in config\\app.php

run `artisan migrate` to create the database table

the add the trait `RMoore\ChangeRecorder\RecordsChanges` to your eloquent models.

this will now automatically record changes made

to view changes we have a few choices

1st we can call `$model->changes` which will return a collection of Change instances containing all the data that was stored about each change

2nd we can call `$model->getHistory()` which will return the same results as option 1

if you wish to find specific changes, you can pass the field name as a parameter to getHistory, or you can use magic methods. please note these will only return changes where this was the only field changed at that time. if you wish to perform a more in depth search please continue reading

1st we can call get history and pass the field we want as an arguement, eg `$model->getHistory('name')` will return the users name history

2th we can use magic methods which take the form of get{fieldName}History(), eg `$model->getNameHistory()` which will return the same results as option 3

for in depth searching (aka finding changes where other fields were changed at the same time), you can use the searchHistory methods.

1st option is to pass the field as an argument, eg `$model->searchHistory('name')`

2nd option is to use magic methods, eg `$model->searchNameHistory()`

3rd option is to pass a boolean as the 2nd parameter to getHistory, eg `$model->getHistory('name', true)` will return the same results as options 1 and 2

###  Health Score

31

—

LowBetter than 66% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity69

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~51 days

Recently: every ~83 days

Total

8

Last Release

3251d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/8243df9773b1b9e468455f666b7e0c079a94f022bec77666bb474ed265e6da33?d=identicon)[rs-sliske](/maintainers/rs-sliske)

---

Top Contributors

[![robert-moore96](https://avatars.githubusercontent.com/u/1929019?v=4)](https://github.com/robert-moore96 "robert-moore96 (22 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/rmoore-change-recorder/health.svg)

```
[![Health](https://phpackages.com/badges/rmoore-change-recorder/health.svg)](https://phpackages.com/packages/rmoore-change-recorder)
```

###  Alternatives

[spatie/laravel-medialibrary

Associate files with Eloquent models

6.1k43.2M611](/packages/spatie-laravel-medialibrary)[mongodb/laravel-mongodb

A MongoDB based Eloquent model and Query builder for Laravel

7.1k8.4M91](/packages/mongodb-laravel-mongodb)[illuminate/database

The Illuminate Database package.

2.8k54.1M11.3k](/packages/illuminate-database)[kirschbaum-development/eloquent-power-joins

The Laravel magic applied to joins.

1.6k32.6M42](/packages/kirschbaum-development-eloquent-power-joins)[yajra/laravel-oci8

Oracle DB driver for Laravel via OCI8

8793.2M23](/packages/yajra-laravel-oci8)[glushkovds/phpclickhouse-laravel

Adapter of the most popular library https://github.com/smi2/phpClickHouse to Laravel

2051.5M2](/packages/glushkovds-phpclickhouse-laravel)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
