2017 © Pedro Peláez
 

library laravel-query-builder-api

Laravel API Query Builder Package based on Unlu/laravel-api-query-builder

image

gfcd/laravel-query-builder-api

Laravel API Query Builder Package based on Unlu/laravel-api-query-builder

  • Thursday, May 24, 2018
  • by gfcd
  • Repository
  • 1 Watchers
  • 0 Stars
  • 15 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 6 Versions
  • 36 % Grown

The README.md

Laravel & Lumen API Query Builder Package

composer require gfcd/laravel-query-builder-api, (*1)

Intro

Laravel library based on selahattinunlu library, (*2)

This library added some modifications from selahattinunlu library., (*3)

Functionalities Added

  1. It was added the FILTER parameter on query string, so the columns are encapsulated inside a filter property.
/api/users?filter={name=se*,age!=18}&order_by=age,asc&limit=2&columns=name,age,city_id&includes=city
  1. On QueryBuilder.php, a new method was inserted. This method is called by applyDefaultRelationships(), and receive as parameter an array of model's relationships. This will do eager load.
class User {

    public function addressList()
    {
        return $this->hasMany(Address::class);
    }
}
class UserController {

    private $relationshipMethods = ["addressList"];

    public function index(Request $request)
    {
        $queryBuilder = new QueryBuilder(new User, $request);

        return response()->json([
            'data' => $queryBuilder
                      ->applyDefaultRelationships($this->relationshipMethods)
                      ->build()
                      ->paginate()
        ]);
    }
}
  1. On QueryBuilder.php, a new method was inserted. This method is called by $applyDefaultFilters, and receive as parameter an array of three properties:

class UserController { //eq: you can ommit operator, by default is "=" private $extraParameters = [ [ "column" => "name of column that you want add on server side, not on client side." "operator" => "the operator that you want use." "value" => "the value you want insert". ] ] public function index(Request $request) { $queryBuilder = new QueryBuilder(new User, $request); return response()->json([ 'data' => $queryBuilder ->applyDefaultFilters($this->extraParameters) ->build() ->paginate() ]); } }

This is helpful in cases where you have a project that uses User Auth, and you want to retrieve data from database based on user_id or whatever column that you want to add on query., (*4)

Service Provider

Add this line into config/app.php file's providers, (*5)

'Gfcd\Laravel\Api\ApiQueryBuilderServiceProvider'.

Publish config file

If you want to change default limit, orderBy and excludedParameters parameters, run this command on the terminal:, (*6)

php artisan vendor:publish --provider="Gfcd\Laravel\Api\ApiQueryBuilderServiceProvider"

Others

Others configurations can be followed using Unlu/laravel-api-query-builder, just changing the 'Unlu' for 'Gfcd'., (*7)

The Versions

24/05 2018

v1.3.6

1.3.6.0

Laravel API Query Builder Package based on Unlu/laravel-api-query-builder

  Sources   Download

MIT

The Requires

 

by Giorgi Coelho

laravel api query builder query string

24/05 2018

dev-master

9999999-dev

Laravel API Query Builder Package based on Unlu/laravel-api-query-builder

  Sources   Download

MIT

The Requires

 

by Giorgi Coelho

laravel api query builder query string

24/05 2018

v1.3.5

1.3.5.0

Laravel API Query Builder Package based on Unlu/laravel-api-query-builder

  Sources   Download

MIT

The Requires

 

by Giorgi Coelho

laravel api query builder query string

18/05 2018

v1.3.4

1.3.4.0

Laravel API Query Builder Package based on Gfcd/laravel-api-query-builder

  Sources   Download

MIT

The Requires

 

by Giorgi Coelho

laravel api query builder query string

18/05 2018

v1.3.3

1.3.3.0

Laravel API Query Builder Package based on Unlu/laravel-api-query-builder

  Sources   Download

MIT

The Requires

 

by Giorgi Coelho

laravel api query builder query string

18/05 2018

v1.3.2

1.3.2.0

Laravel API Query Builder Package based on Gfcd/laravel-api-query-builder

  Sources   Download

MIT

The Requires

 

by Giorgi Coelho

laravel api query builder query string