PHP code example of eth0 / laravel-filters

1. Go to this page and download the library: Download eth0/laravel-filters 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/ */

    

eth0 / laravel-filters example snippets

 artisan make:filter ModelFilter



namespace App\Filters\ModelFilter;

use Mukja\LaravelFilters\FiltersAbstract;

class ModelFilter extends FiltersAbstract
{
    protected $filters = [
        //
    ];
}




namespace App\Filters\ModelFilter;

use Mukja\LaravelFilters\FiltersAbstract;
use App\Filters\Model\{
    ModelStatusFilter,
    ModelCreatedAtFilter
};

class ModelFilter extends FiltersAbstract
{
    protected $filters = [
        'status' => ModelStatusFilter::class,
        'created_at' => ModelCreatedAtFilter::class
    ];
}

 artisan make:model:filter Model\ModelStatusFilter Model\ModelCreatedAtFilter



namespace App\Filters\Model;

use Mukja\LaravelFilters\FilterAbstract;
use Illuminate\Database\Eloquent\Builder;

class ModelStatusFilter extends FilterAbstract
{
    /**
     * Define column mappings.
     * @return array
     */
    public function mappings ()
    {
        return [];
    }

    /**
     * Filter the column.
     * @param  Builder $builder
     * @param  mixed  $value
     * @return Builder $builder
     */
    public function filter (Builder $builder, $value)
    {
        //
    }
}


public function mappings ()
{
    return [
        'status' => 'active',
        's' => 'active'
    ];
}

/**
 * Filter the column.
 * @param  Builder $builder
 * @param  mixed  $value
 * @return Builder $builder
 */
public function filter (Builder $builder, $value)
{
    return $builder->where('status', $value);
}

public function scopeFilter (Builder $builder, $request, array $filters = [])
{
    return (new ModelFilter($request))->filter($builder);
}

$model = Model::filter($request);
config/app.php
 php artisan make:filter 
 php artisan make:model:filter 
ModelFilter.php