Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Active Record Laravel Package

yiisoft/active-record

Active Record ORM for PHP in the Yii3 ecosystem. Map database tables to classes, perform CRUD operations, define relationships, and build queries through a familiar object-oriented API on top of yiisoft/db. A lightweight choice for ActiveRecord-style persistence.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for the persistence layer: yiisoft/active-record 1.1.0 is a minor, backward-compatible release with correctness and performance fixes. It reduces the case for maintaining a custom ActiveRecord/ORM layer in PHP services that fit the Yii3/PSR ecosystem.
  • Roadmap sequencing: Because 1.1.0 contains no breaking changes or deprecations, upgrading can be scheduled as routine maintenance rather than a migration project. This keeps data-layer modernization off the critical path.
  • Feature reliability decisions: Fixes for SoftDelete with custom dates (#558), upsert() semantics (#561, #562), relation query construction (#550), and properties with hooks (#567) directly affect deletion workflows, import/sync features, and multi-model reporting. These are production-correctness improvements, not cosmetic changes.
  • Performance-sensitive read paths: Optimization of ActiveRecord::get() (#571) supports latency improvements in hot read paths and may defer premature caching or query-layer work.
  • Developer onboarding and tooling: Default config for the yiisoft/config plugin (#576, #577) and clarified JoinWith callable type (#564) lower setup friction and improve IDE/static-analysis support.
  • Framework positioning: This is a framework-agnostic PHP ActiveRecord package, not a Laravel-native package. For Laravel-first teams, Eloquent remains the default; this package is more relevant to Yii3, PSR-based, or non-Laravel PHP services.

When to Consider This Package

  • Adopt when building or maintaining a PHP application—especially in the Yii3/PSR ecosystem—that needs ActiveRecord-style persistence with relations, soft delete, upsert, and property hooks maintained upstream.
  • Adopt when you want semver-friendly minor releases with production bug fixes and no breaking changes, and when reducing bespoke ORM code is a priority.
  • Consider for migrations from Yii2-style ActiveRecord patterns or for teams already standardized on Yii conventions.
  • Look elsewhere when the product is Laravel-first and Eloquent already covers the domain; when you need a data-mapper/unit-of-work ORM such as Doctrine; when you require a very large community, commercial support, or extensive third-party ecosystem; or when the team cannot accept ActiveRecord’s coupling between domain objects and persistence.
  • Evaluate carefully when the application needs complex domain modeling, advanced DB abstraction, or multi-database portability beyond what ActiveRecord comfortably provides.

How to Pitch It (Stakeholders)

  • Executive summary: Version 1.1.0 is a low-risk minor release with no breaking changes. It improves production correctness in soft delete, upsert, relation queries, and property hooks, plus a performance gain in ActiveRecord::get() and simpler configuration defaults. Approve the upgrade; no migration budget is required.
  • Engineering summary: Schedule the upgrade in the next maintenance window. Add regression coverage for soft delete with custom dates, upsert() with associative values and updateProperties = false, relation queries across related classes, and properties with hooks. Expect modest read-path improvements and less config boilerplate. Because this is not a Laravel package, confirm fit against Eloquent or Doctrine before standardizing.
  • Product summary: The release reduces risk in deletion, import/sync, and reporting workflows, and supports faster read experiences without immediately adding caching complexity. It is a stability and reliability update, not a feature bet.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console