CoderFunda
  • Home
  • About us
    • Contact Us
    • Disclaimer
    • Privacy Policy
    • About us
  • Home
  • Php
  • HTML
  • CSS
  • JavaScript
    • JavaScript
    • Jquery
    • JqueryUI
    • Stock
  • SQL
  • Vue.Js
  • Python
  • Wordpress
  • C++
    • C++
    • C
  • Laravel
    • Laravel
      • Overview
      • Namespaces
      • Middleware
      • Routing
      • Configuration
      • Application Structure
      • Installation
    • Overview
  • DBMS
    • DBMS
      • PL/SQL
      • SQLite
      • MongoDB
      • Cassandra
      • MySQL
      • Oracle
      • CouchDB
      • Neo4j
      • DB2
      • Quiz
    • Overview
  • Entertainment
    • TV Series Update
    • Movie Review
    • Movie Review
  • More
    • Vue. Js
    • Php Question
    • Php Interview Question
    • Laravel Interview Question
    • SQL Interview Question
    • IAS Interview Question
    • PCS Interview Question
    • Technology
    • Other

20 February, 2022

Accountant Laravel Package

 Programing Coderfunda     February 20, 2022     Laravel, Packages, php     No comments   

 

Accountant is a Laravel accountably package for your Eloquent models by developer Quetzy Garcia. This package is a convenient way to keep track of Eloquent model changes:

Data discrepancies that may indicate business concerns suspect activities, and other actions that would otherwise pass unnoticed, can now be easily spotted.

At the time of writing, here are the key features according to the README:

  • Many-to-many (BelongsToMany and MorphToMany) relation support;
  • Event source style approach, by keeping complete snapshots of Recordable models when created, modified or retrieved;
  • Ability to recreate Recordable model instances in the exact state they were in when recorded;
  • Signed Ledger records for data integrity;
  • Effortless data integrity checks
  • Recording contexts
  • Huge customisation support
  • Easy to follow documentation and troubleshooting guide;
  • Laravel and Lumen 5.2+ support;

This package has a ton of features you can check it in the documentation. Here’s an example of the “Recordable” trait used to record model events:

<?php
namespace App\Models;
use Altek\Accountant\Contracts\Recordable;
use Illuminate\Database\Eloquent\Model;
class Article extends Model implements Recordable
{
use \Altek\Accountant\Recordable;
// ...
}

Accountant released v1.1.0 on January 1st, which introduced Many-to-many relationships, and forceDelete event support. You can even track pivot events – check the recordable model setup documentation for details on recording pivot events.

You can follow along with Accountant and view the source code on GitLab at Altek / Accountant, including the documentation which is available under version control in the same GitLab repository.

Learn More

Another package that we’ve covered on the topic of event sourcing is Spatie’s Laravel Event Projector. I suggest you read our article that contains links to the concepts around event sourcing if you’re not familiar. I am not sure which features differ between the two packages, but I’d check out both to further determine your needs.

  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg
Email ThisBlogThis!Share to XShare to Facebook

Related Posts:

  • Composer Normalizer Package Composer Normalize is a plugin for Composer that normalizes the composer.json file in your projects.This package exists to take t… Read More
  • Build Typescript Interfaces for Laravel ModelsLaravel Typescript is a package that lets you generate TypeScript interfaces from your Laravel models. The example from the documentation&nb… Read More
  • A Flat-File Database Driver for EloquentOrbit is a flat-file database driver for Eloquent by Ryan Chandler.You can think of it as a general-purpose "flat-file CMS for any… Read More
  • Laravel Stats: Track Application Stats and Their Change Over Time Laravel Stats is a package by Spatie to easily track application stats like orders, subscriptions, and users, and their change ov… Read More
  • Laravel Prose LinterLaravel Prose Linter is a package that provides syntax-aware proofreading for your Laravel application:The Laravel Prose Linter helps you to… Read More
Newer Post Older Post Home

0 comments:

Post a Comment

Thanks

Meta

Popular Posts

  • Spring boot app (error: method getFirst()) failed to run at local machine, but can run on server
    The Spring boot app can run on the online server. Now, we want to replicate the same app at the local machine but the Spring boot jar file f...
  • Log activity in a Laravel app with Spatie/Laravel-Activitylog
      Requirements This package needs PHP 8.1+ and Laravel 9.0 or higher. The latest version of this package needs PHP 8.2+ and Laravel 8 or hig...
  • Failed to install 'cordova-plugin-firebase': CordovaError: Uh oh
    I had follow these steps to install an configure firebase to my cordova project for cloud messaging. https://medium.com/@felipepucinelli/how...
  • Laravel auth login with phone or email
          <?php     Laravel auth login with phone or email     <? php     namespace App \ Http \ Controllers \ Auth ;         use ...
  • Cashier package and Blade files
    I'm a little confused about this Cashier package. I installed it using the Laravel website (with composer), but noticed there's no...

Categories

  • Ajax (26)
  • Bootstrap (30)
  • DBMS (42)
  • HTML (12)
  • HTML5 (45)
  • JavaScript (10)
  • Jquery (34)
  • Jquery UI (2)
  • JqueryUI (32)
  • Laravel (1017)
  • Laravel Tutorials (23)
  • Laravel-Question (6)
  • Magento (9)
  • Magento 2 (95)
  • MariaDB (1)
  • MySql Tutorial (2)
  • PHP-Interview-Questions (3)
  • Php Question (13)
  • Python (36)
  • RDBMS (13)
  • SQL Tutorial (79)
  • Vue.js Tutorial (68)
  • Wordpress (150)
  • Wordpress Theme (3)
  • codeigniter (108)
  • oops (4)
  • php (853)

Social Media Links

  • Follow on Twitter
  • Like on Facebook
  • Subscribe on Youtube
  • Follow on Instagram

Pages

  • Home
  • Contact Us
  • Privacy Policy
  • About us

Blog Archive

  • September (100)
  • August (50)
  • July (56)
  • June (46)
  • May (59)
  • April (50)
  • March (60)
  • February (42)
  • January (53)
  • December (58)
  • November (61)
  • October (39)
  • September (36)
  • August (36)
  • July (34)
  • June (34)
  • May (36)
  • April (29)
  • March (82)
  • February (1)
  • January (8)
  • December (14)
  • November (41)
  • October (13)
  • September (5)
  • August (48)
  • July (9)
  • June (6)
  • May (119)
  • April (259)
  • March (122)
  • February (368)
  • January (33)
  • October (2)
  • July (11)
  • June (29)
  • May (25)
  • April (168)
  • March (93)
  • February (60)
  • January (28)
  • December (195)
  • November (24)
  • October (40)
  • September (55)
  • August (6)
  • July (48)
  • May (2)
  • January (2)
  • July (6)
  • June (6)
  • February (17)
  • January (69)
  • December (122)
  • November (56)
  • October (92)
  • September (76)
  • August (6)

  • Failed to install 'cordova-plugin-firebase': CordovaError: Uh oh - 9/21/2024
  • pyspark XPath Query Returns Lists Omitting Missing Values Instead of Including None - 9/20/2024
  • SQL REPL from within Python/Sqlalchemy/Psychopg2 - 9/20/2024
  • MySql Explain with Tobias Petry - 9/20/2024
  • How to combine information from different devices into one common abstract virtual disk? [closed] - 9/20/2024

Laravel News

  • Auto-translate Application Strings with Laratext - 5/16/2025
  • Simplify Factory Associations with Laravel's UseFactory Attribute - 5/13/2025
  • Improved Installation and Frontend Hooks in Laravel Echo 2.1 - 5/15/2025
  • Filter Model Attributes with Laravel's New except() Method - 5/13/2025
  • Arr::from() Method in Laravel 12.14 - 5/14/2025

Copyright © 2025 CoderFunda | Powered by Blogger
Design by Coderfunda | Blogger Theme by Coderfunda | Distributed By Coderfunda