This product was not featured by Product Hunt yet. It will not be visible on their landing page and won't be ranked (cannot win product of the day regardless of upvotes).
Easy Model
A Laravel package for enjoyably managing database queries
This release brings cleaner exception handling, smarter relationship ordering, advanced keyword search helpers, array-driven where conditions, better JOIN support, safer reusable pipelines, and direct single-model retrieval from the searchable pipeline. Also packed with important fixes for relationship ordering, soft delete handling, query consistency, silent row-loss issues, and pipeline stability. ⚡️ Built to make Laravel querying cleaner, safer, and far more maintainable. 💚
No comment highlights available yet. Please check back later!
About Easy Model on Product Hunt
“A Laravel package for enjoyably managing database queries”
Easy Model was submitted on Product Hunt and earned 5 upvotes and 1 comments, placing #32 on the daily leaderboard. This release brings cleaner exception handling, smarter relationship ordering, advanced keyword search helpers, array-driven where conditions, better JOIN support, safer reusable pipelines, and direct single-model retrieval from the searchable pipeline. Also packed with important fixes for relationship ordering, soft delete handling, query consistency, silent row-loss issues, and pipeline stability. ⚡️ Built to make Laravel querying cleaner, safer, and far more maintainable. 💚
Easy Model was featured in Open Source (68.4k followers), GitHub (41.2k followers) and Database (2.1k followers) on Product Hunt. Together, these topics include over 35.1k products, making this a competitive space to launch in.
Who hunted Easy Model?
Easy Model was hunted by Mahmoud Ramadan. A “hunter” on Product Hunt is the community member who submits a product to the platform — uploading the images, the link, and tagging the makers behind it. Hunters typically write the first comment explaining why a product is worth attention, and their followers are notified the moment they post. Around 79% of featured launches on Product Hunt are self-hunted by their makers, but a well-known hunter still acts as a signal of quality to the rest of the community. See the full all-time top hunters leaderboard to discover who is shaping the Product Hunt ecosystem.
Want to see how Easy Model stacked up against nearby launches in real time? Check out the live launch dashboard for upvote speed charts, proximity comparisons, and more analytics.
🚀 New EasyModel Release
This release focuses on improving query flexibility, relationship ordering, exception handling, and overall pipeline stability across the package.
✨ Added
Added an EasyModelException marker interface implemented by all package exceptions for unified error handling.
Added named constructors to all exceptions for centralized and consistent error messages.
Rebases package exceptions on top of SPL exceptions (\LogicException / \InvalidArgumentException) without introducing breaking changes.
Added addOrderByCount() and addOrderByAggregate() helpers for ordering by relationship aggregates.
Added addKeywordSearch() for grouped multi-column LIKE / = searching.
Added array-driven helpers:
addWhereIn()
addWhereNotIn()
addWhereNull()
addWhereNotNull()
addWhereBetween()
Added first-class JOIN support in addOrderBy() for:
MorphOne
MorphMany
MorphToMany
HasOneThrough
HasManyThrough
Added flushSearchable() and flushUpdatable() to safely reset internal trait state for reusable pipelines.
Added support for retrieving a single model instance directly from the searchable pipeline.
🛠 Fixed
Fixed a reset() reference bug in prepareWhereConditions() when using arrays as where values.
Fixed incorrect foreign-key resolution for BelongsTo ordering.
Fixed silent row-loss when ordering relationships using LEFT JOIN through explicit base-table selection and JOIN deduplication.
Fixed missing default handling in buildQueryUsingWheres() by throwing InvalidArrayStructure.
Fixed setSearchableQuery() and setUpdatableQuery() silently downgrading an EloquentBuilder into a QueryBuilder.
Fixed includeSoftDeleted() silently doing nothing when the model does not use SoftDeletes; it now throws InvalidModel.
Extended the single-model update fix into the Updatable pipeline itself.
💚 This release makes EasyModel more predictable, extensible, and production-ready for complex Laravel query workflows.