awssat / laravel-query-reset
Clear previously set statements in Laravel query builder
Requires
- illuminate/database: 5.*
- illuminate/support: 5.*
Requires (Dev)
- mockery/mockery: ~1.0
- phpunit/phpunit: ^6.1
This package is auto-updated.
Last update: 2020-08-31 00:45:14 UTC
README
Archived since Laravel 7 now support
reorder
internally see: reinink PR
Introduction
Clear previously set statements in Laravel query builder/Eloqent builder easily.
Features
- Support most of query builder statemets. (where, limit, order etc..)
- Intuitive, just type ->reset{..} followed by the statement name like: resetLimit()
- Well tested (check tests folder).
- Easy to use ..
Install
Via Composer
composer require awssat/laravel-query-reset
Before Laravel 5.5
You'll need to manually register Awssat\QueryReset\QueryResetServiceProvider::class
service provider in config/app.php
.
Usage
Query\Builder method | Description |
---|---|
resetOrder() | remove all order by ... statements from the query |
resetLimit() | remove all limit ... statements from the query |
resetOffset() | remove all offset ... statements from the query |
resetHaving() | remove all having ... statements from the query |
resetWhere() | remove all where ... statements from the query |
resetSelect() | remove all select ... statements from the query |
resetJoin() | remove all join ... statements from the query |
resetDistinct() | remove all distinct ... statements from the query |
resetGroup() | remove all group by ... statements from the query |
resetAggregate() | remove all aggregate's methods statements from the query such as count , max , min , avg , and sum . |
Eloquent\Builder method | Description |
---|---|
resetWith() or resetEagerLoad() | remove all eager Loads |
resetScopes() | remove all restrictive scopes |
Examples
$model->orderBy('id')->resetOrder()
$model->with('items')->resetWith()
Usage case
if you're using statements in your relations defining methods or using built in laravel realtions that's using statement by default such as order by
or a model's scope that interfere with your query ... and you don't want that for a specific query call .. use this package.
License
This package is open-sourced software licensed under the MIT license.