- What is ozankurt/laravel-modules-interactions used for?
- It is a polymorphic social and engagement toolkit for Laravel applications. It adds emoji reactions, comments, @mentions, likes, votes, ratings, favorites and subscriptions to your models, plus a follows and friendships social graph. The package is headless by default with an optional Filament admin panel.
- Which Laravel and PHP versions does laravel-modules-interactions support?
- Version 2.0.0 requires PHP ^8.4 and illuminate/* ^13.0, so it targets Laravel 13 only. Laravel 12 and PHP 8.3 are explicitly unsupported in this release. Filament ^3.0, ^4.0 and ^5.0 are all allowed by the constraint.
- How do I install laravel-modules-interactions?
- Install it with Composer using composer require ozankurt/laravel-modules-interactions, then publish the package config and migrations and run php artisan migrate. Your application must already run Laravel 13 and PHP 8.4 before Composer can resolve the package. It also pulls in ozankurt/laravel-modules-core ^2.0 and spatie/laravel-package-tools ^1.93.
- Is laravel-modules-interactions compatible with Filament 3?
- Yes, the Filament constraint accepts ^3.0, ^4.0 and ^5.0, and CI verifies all three majors against Laravel 13. The remaining risk is third-party Filament plugins that may not yet support Laravel 13 or PHP 8.4. Verify those plugins before upgrading your panels.
- Can I use this package on Laravel 12 or PHP 8.3?
- No. The v2.0.0 constraints require PHP ^8.4 and illuminate/* ^13.0, so Composer resolution will fail on Laravel 12 or PHP 8.3. You must complete the platform upgrade first. Only then should you bump this package to ^2.0.
- Does laravel-modules-interactions require ozankurt/laravel-modules-core?
- Yes, ozankurt/laravel-modules-core ^2.0 is a hard runtime dependency. That creates a transitive upgrade gate, so laravel-modules-core must be Laravel 13-ready before you update this package. Upgrade it first and confirm it resolves cleanly.
- What changed in laravel-modules-interactions v2.0.0?
- The release moves the platform baseline to Laravel 13 and PHP 8.4, and replaces interpolated DB::raw counter SQL with query builder increment() and decrement() calls. Development tooling moves to Pest 5 and Testbench 11. The package states that application-facing APIs are unchanged, but you should still verify published config, migrations, events and assets.
- How do reactions and comments attach to my Eloquent models?
- Interactions are polymorphic, so models such as posts, products or users can be reacted to, commented on, liked, voted on or favorited through morph relations. You enable the traits or contracts on the models you want to make interactive. The follows and friendships graph is handled separately from content interactions.
- How do I upgrade an existing app to laravel-modules-interactions v2.0.0 safely?
- Sequence the work: upgrade the host application to Laravel 13 and PHP 8.4, then update ozankurt/laravel-modules-core to ^2.0 and spatie/laravel-package-tools to ^1.93, then bump this package to ^2.0 and run composer update. Regression test Filament panels, module registration and counter updates, with particular attention to custom table names, column prefixes and non-standard primary keys. Validate in staging before production rollout.
- How do I run the test suite or contribute to laravel-modules-interactions?
- The package uses Pest 5 and Testbench 11 for its own test suite, which only affects contributors, not application teams. Application developers just need their normal Laravel test setup to cover interactions on their models. When contributing, follow the package's Pest-based workflow and verify tests against Laravel 13 and PHP 8.4.