willdurand/propel-publishable-behavior
Propel behavior that adds publish/unpublish support to your models and queries. Provides isPublished(), publish()/unpublish(), optional publication timeframes (start/end), and query filters to include/exclude unpublished records or fetch currently active publications.
SoftDeletes, custom scopes, or accessors).Illuminate\Database\Eloquent\SoftDeletes) and custom query scopes for filtering published/unpublished records, making this package redundant unless Propel is a hard requirement.SoftDeletes + scopes) is safer and more maintainable.SoftDeletes, custom scopes, or policy-based publishing)?isPublished(), publish(), unpublish() logic.creating, updating, deleting events to manage publish status.| Scenario | Approach | Effort | Risk |
|---|---|---|---|
| Already using Propel | Direct integration (Composer + Propel config) | Low | Low (if Propel is stable) |
| Need publishing in Laravel (new project) | Build custom solution (SoftDeletes + scopes) | Medium | Low (native Laravel) |
| Migrating from Propel to Eloquent | Rewrite publishing logic in Eloquent | High | Medium (refactoring) |
| Hybrid Propel + Eloquent | Avoid; high technical debt | High | High (inconsistency) |
publish/unpublish workflows.spatie/laravel-activitylog) offer similar functionality with active maintenance.| Risk | Propel + Publishable | Laravel Native |
|---|---|---|
| ORM Breakage | High (Propel 1.x unsupported) | Low (Eloquent stable) |
| Dependency Vulnerabilities | High (unpatched Propel) | Low (active Laravel security) |
| Functional Regression | Medium (behavior may break) | Low (explicit code control) |
| Migration Pain | High (Propel → Eloquent refactor) | Low (native features) |
| Team Onboarding | High (Propel learning curve) | Low (Eloquent is standard) |
How can I help you explore Laravel packages today?