nwidart/laravel-videoable
Laravel Videoable provides a Videoable trait and polymorphic video model to associate videos with any Eloquent model, making it easy to store and retrieve video records for posts, products, and other Laravel resources.
morphMany trait, one videos table, one migration. The package is small and the capability is well understood, so the real decision this informs is "do we take a 2018-era third-party dependency for roughly a day of work, or do we write 150 lines ourselves?" For any team on a supported Laravel version, that comparison usually resolves against the dependency.videoable_id, videoable_type, metadata columns) for an in-house implementation — a cheap input to a design review.Consider it when:
Look elsewhere — or default to in-house — when:
composer.json constraint check proves otherwise.Verify before adopting (not answerable from the listing):
illuminate/* and php constraints in composer.json, and whether the trait/migration still work unmodified on your Laravel version.For executives (one paragraph): We evaluated a small open-source Laravel package that attaches videos to any record in the database. It is a narrow utility — it stores links and labels for videos, not the videos themselves — and it has not been updated since 2018, when it supported Laravel 5.7. That makes it a fit only for a legacy part of our stack, and a maintenance liability anywhere else. The equivalent capability is roughly one day of engineering work to build in-house, so the recommendation is to treat this package as a design reference rather than a dependency we adopt, and to treat the broader "video" roadmap item as two separate efforts: cheap attachment/metadata work, and a substantial media pipeline (upload, encoding, delivery) that this package does nothing to solve. If a specific legacy feature needs it urgently, we can vendor it with an explicit version pin and a named internal owner, with the understanding that we — not the upstream project — maintain it from that point forward.
For engineering (the parts that matter):
How can I help you explore Laravel packages today?