PHP code example of hooklife / query-builder

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);
    } 
    
}
shell
php artisan make:queryBuilder UserQueryBuilder