1. Go to this page and download the library: Download hooklife/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/ */
hooklife / query-builder example snippets
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Hooklife\QueryBuilder\QueryBuildable;
class User extends Model
{
use QueryBuildable;
}
User::queryBuilder($request->all())->get()
namespace App\QueryBuilders;
use Hooklife\QueryBuilder\QueryBuilder;
class UserQueryBuilder extends QueryBuilder
{
public function userId($value){
$this->query->where('user_id',$value)
}
}
namespace App\QueryBuilders;
use Hooklife\QueryBuilder\Concerns\Filterable;
class UserQueryBuilder extends QueryBuilder
{
use Filterable;
public array $simpleFilters = [
'name' => ['like','%?%']
'status'
];
}
namespace App\QueryBuilders;
class UserQueryBuilder extends QueryBuilder
{
public function name($value){
$this->query->where('name','like','%'.$value.'%');
}
public function status($value){
$this->query->where('status',$value);
}
}
namespace App\QueryBuilders;
use Hooklife\QueryBuilder\Concerns\Sortable;
class UserQueryBuilder extends QueryBuilder
{
use Sortable;
protected $sortPrefix = 'sort_'
public array $simpleSorts = [
'name',
'created_at' => 'desc'
];
}
namespace App\QueryBuilders;
class UserQueryBuilder extends QueryBuilder
{
public function boot(){
$this->query->sortBy('created_at','desc');
}
public function sortName($value){
$this->query->orderBy('name',$value);
}
}