PHP code example of faridlab / laravel-search-query
1. Go to this page and download the library: Download faridlab/laravel-search-query 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/ */
use SearchQuery\FilterQueryString\FilterQueryString;
class User extends Model
{
use FilterQueryString;
protected $filters = [];
...
}
User::select('name')->filter()->get();
User::filter()->get();
protected $filters = ['fields'];
protected $filters = ['search'];
protected $filters = ['page'];
protected $filters = ['limit'];
protected $filters = ['relationship'];
protected $filters = ['count'];
protected $filters = ['withtrashed'];
protected $filters = ['orderby'];
protected $filters = [];
protected $filters = [];
protected $filters = [];
protected $filters = [];
protected $filters = [];
protected $filters = [];
protected $filters = [];
protected $filters = [];
protected $filters = [];
protected $filters = [];
protected $filters = [];
protected $filters = [];
protected $filters = [];
protected $filters = [];
protected $filters = [];
protected $filters = [];
protected $filters = [];
protected $filters = [];
protected $filters = [];
protected $filters = [];
protected $filters = ['distinct'];
protected $filters = ['name', 'username', 'age'];
protected $filters = ['all_except'];
public function all_except($query, $value) {
return $query->where('name', '!=', $value);
}
protected $filters = ['in'];
public function in($query, $value) {
$exploded = explode(',', $value);
if(count($exploded) != 4) {
// throwing an exception or whatever you like to do
}
$field = array_shift($exploded);
return $query->whereIn($field, $exploded);
}
protected $filters = ['by'];
public function by($query, $value) {
return $query->where('username', $value);
}
> GET /api/v1/users?fields={fieldname}
> GET /api/v1/users?fields[]={fieldname1}
> GET /api/v1/users?fields[]={fieldname2}
> GET /api/v1/users?fields=name
> GET /api/v1/users?fields[]=name&fields[]=email
> GET /api/v1/users?search={fieldname}
> GET /api/v1/users?search=faridlab
> GET /api/v1/users?page={page}
> GET /api/v1/users?page=1
> GET /api/v1/users?limit={limit}
> GET /api/v1/users?limit=25
> GET /api/v1/users?relationship={relation}
> GET /api/v1/users?relationship[]={relation1}
> GET /api/v1/users?relationship[]={relation2}
> GET /api/v1/users?relationship=role
> GET /api/v1/users?relationship[]=role
> GET /api/v1/users?relationship[]=permissions
> GET /api/v1/users?count={relation}
> GET /api/v1/users?count[]={relation1}
> GET /api/v1/users?count[]={relation2}
> GET /api/v1/users?count=addresses
> GET /api/v1/users?count[]=photos
> GET /api/v1/users?count[]=accounts
> GET /api/v1/users?withtrashed=true
> GET /api/v1/users?withtrashed=true
> GET /api/v1/users?{fieldname}={searchtext}
> GET /api/v1/users?{fieldname}[]={searchtext}
> GET /api/v1/users?{fieldname}[where]={searchtext}
> GET /api/v1/users?username=faridlab
> GET /api/v1/users?username[]=faridlab
> GET /api/v1/users?username[where]=faridlab
> GET /api/v1/users?{fieldname}[orwhere]={searchtext}
> GET /api/v1/users?{fieldname}[orwhere][]={searchtext}
> GET /api/v1/users?{fieldname}[orwhere][]={searchtext}
> GET /api/v1/users?username[where]=faridlab
> GET /api/v1/users?username[where][]=faridlab
> GET /api/v1/users?username[where][]=mehrad123
> GET /api/v1/users?{fieldname}[gt]={searchtext}
> GET /api/v1/users?id[gt]=10
> GET /api/v1/users?{fieldname}[gtEq]={searchtext}
> GET /api/v1/users?id[gtEq]=10
> GET /api/v1/users?{fieldname}[lt]={searchtext}
> GET /api/v1/users?id[lt]=10
> GET /api/v1/users?{fieldname}[ltEq]={searchtext}
> GET /api/v1/users?id[ltEq]=10
> GET /api/v1/users?{fieldname}[like]={searchtext}
> GET /api/v1/users?username[like]=faridlab
> GET /api/v1/users?{fieldname}[notlike]={searchtext}
> GET /api/v1/users?username[notlike]=faridlab
> GET /api/v1/users?{fieldname}[contain]={searchtext}
> GET /api/v1/users?username[contain]=farid
> GET /api/v1/users?{fieldname}[notcontain]={searchtext}
> GET /api/v1/users?username[notcontain]=farid
> GET /api/v1/users?{fieldname}[startwith]={searchtext}
> GET /api/v1/users?username[startwith]=farid
> GET /api/v1/users?{fieldname}[endwith]={searchtext}
> GET /api/v1/users?username[endwith]=lab
> GET /api/v1/users?{fieldname}[in][]={searchtext}&{fieldname}[in][]={searchtext2}
> GET /api/v1/users?username[in][]=faridlab&username[in][]=farid
> GET /api/v1/users?{fieldname}[notin][]={searchtext}&{fieldname}[notin][]={searchtext2}
> GET /api/v1/users?username[notin][]=faridlab&username[notin][]=farid
> GET /api/v1/users?{fieldname}[between][]={searchtext}&{fieldname}[between][]={searchtext2}
> GET /api/v1/users?id[between][]=1&id[between][]=10
> GET /api/v1/users?{fieldname}[notbetween][]={searchtext}&{fieldname}[notbetween][]={searchtext2}
> GET /api/v1/users?id[notbetween][]=1&id[notbetween][]=10
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.