awssat/laravel-query-reset

This package is abandoned and no longer maintained. No replacement package was suggested.

Clear previously set statements in Laravel query builder

1.0.1 2019-11-27 15:51 UTC

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

laravel-query-reset

Latest Version on Packagist Software License

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.

Credits