Download the PHP package dorvidas/laravel-query-builder without Composer

On this page you can find all versions of the php package dorvidas/laravel-query-builder. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package laravel-query-builder

Easily build Eloquent queries from API requests

Build Status Latest Stable Version Total Downloads License

This package allows you to filter and include eloquent relations based on a request. Filtering is possible even on relations. Query parameter names follow the JSON API specification as closely as possible.

Basic usage

Filtering an API request by checking if column equals to value: /users?filter[eq:active]=1 or /users?filter[active]=1(if no filter defined, the default eq filter is used):

Requesting filtered relations from an API request: /users?filter[posts.eq:published]=1&include=posts:

Requesting deep relations filtered from an API request: /users?filter[posts.comments.eq:approved=1&include=posts.comments:

Works together nicely with existing queries, because buildFromRequest is basically Eloquent macro: /users?filter[eq:name]=John:

Installation

You can install the package via composer:

You can optionally publish the config file with:

Usage

Filters

Out-of-box filters

There are number of out-of-box filters that can be used right away. Filters are listed in config:

Using filters in URL

JSON:API is agnostic to filtering strategy. The only requirement that filter would be placed in &filter query param. Proposed filter format:

Create filters

If you need to create custom filter append the config.

Filter should implement Dorvidas\QueryBuilder\FiltersFilterInterface interface. Example filter:

GOTCHAs

Filters with no values are not applied i.e $filter[eq:id]=. Laravel application converts empty query params to null values by using \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class middleware and to filter rows where columns is null use n:your_col=1 filter. Reason for that is when using documentation tools like Swagger I list all possible filters for endpoint and when value is not present I want to skip it.

Including relations

JSON:API allows request for related resources. This is done via include query param i.e. /users?include=posts:

Include constraints

It is possible to add constraints on which includes are allowed. Without it you can request for everything as long as there are requested relation defined i.e. /users?include=posts:

Manually building query

It is also possible to build query manually by using buildFromArray macro and passing instance of \Dorvidas\QueryBuilder\ArrayBuilder to it:

Sparse fields - TODO

Sorting - TODO

Paginating - TODO

Limit results - TODO

Testing

License

The MIT License (MIT). Please see License File for more information.


All versions of laravel-query-builder with dependencies

PHP Build Version
Package Version
Requires php Version ^7.1
illuminate/database Version ~5.5.0|~5.6.0|~5.7.0|~5.8.0
illuminate/http Version ~5.5.0|~5.6.0|~5.7.0|~5.8.0
illuminate/support Version ~5.5.0|~5.6.0|~5.7.0|~5.8.0
rapidwebltd/array_undot Version ^1.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package dorvidas/laravel-query-builder contains the following files

Loading the files please wait ....