1. Go to this page and download the library: Download psenna/lumen-query-builder library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
psenna / lumen-query-builder example snippets
use Spatie\QueryBuilder\QueryBuilder;
// ...
$users = QueryBuilder::for(User::class)
->allowedFilters('name')
->get();
// all `User`s that contain the string "John" in their name
$users = QueryBuilder::for(User::class)
->allowedIncludes('posts')
->get();
// all `User`s with their `posts` loaded
$query = User::where('active', true);
$user = QueryBuilder::for($query)
->allowedIncludes('posts', 'permissions')
->where('score', '>', 42) // chain on any of Laravel's query builder methods
->first();
$users = QueryBuilder::for(User::class)->get();
// all `User`s sorted by name
return [
/*
* By default the package will use the ` 'parameters' => [
' ],
];
use Spatie\QueryBuilder\Filter;
// GET /users?filter[name]=John
$users = QueryBuilder::for(User::class)
->allowedFilters(Filter::exact('name', 'user_name')) // public filter, column name
->get();
// filter by the column 'user_name'
public function scopeStartsBefore(Builder $query, $date): Builder
{
return $query->where('starts_at', '<=', Carbon::parse($date));
}
// GET /user?name=forbidden,John Doe
QueryBuilder::for(User::class)
->allowedFilters(Filter::exact('name')->ignore('forbidden'))
->get();
// Only users where name matches 'John Doe'
// GET /user?name=ignored,ignored_too
QueryBuilder::for(User::class)
->allowedFilters(Filter::exact('name')->ignore(['ignored', 'ignored_too']))
->get();
// Filter does not get applied
php
// GET /users?lder::for(User::class)
->allowedIncludes('posts')
->get();
// $users will contain all users with their posts loaded
GET /events?filter[starts_before]=2018-01-01
GET /events?filter[starts_between]=2018-01-01,2018-12-31
php
// GET /users?sort=password
$users = QueryBuilder::for(User::class)
->allowedSorts('name')
->get();
// Will throw an `InvalidSortQuery` exception as `password` is not an allowed sorting property
GET /posts?
class User extends Model{
public function getFullnameAttribute()
{
return $this->firstname.' '.$this->lastname;
}
}
// GET /users?append=fullname,ranking
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.