PHP code example of forest-lynx / laravel-filterable-light

1. Go to this page and download the library: Download forest-lynx/laravel-filterable-light 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/ */

    

forest-lynx / laravel-filterable-light example snippets


//...
use ForestLynx\FilterableLight\Trait\HasFilterable;

class Card extends Model{
    use HasFilterable;
}

//...
    protected $filtering = true;
    protected $filtering_fields = [];
    protected $filtering_fields_hidden = []
//...

//...
use ForestLynx\FilterableLight\Attributes\FilteringBlocked;

class Product extends Model{
    use HasFilterable;
    //...
    #[FilteringBlocked]
    public function price(): HasOne
    {
    //...

//...
    Card::filter(`$filters`);
//...

[
    //свойства модели по которым допустима фильтрация
    'name' => '=:пирожок',  //1.тип операции сравнения формирования поискового запроса (до:)
                            //2. искомое(ый) значение(я)
    ...
    //для свойств допустима группировка на выходе запрос where (description ... AND amount ...) 
    0 => [
        'description' => '~:Описание пирожка',
        'amount' => '!=:10'
    ],
    //связь с другими моделями
    'related' => [ 
        //имя связи
        'properties' =>
        [
            //свойства у связанной модели по которым допустима фильтрация
            'amount': '><:52|75',
            ...
        ],
        ...
    ]
]

[
    //группировка свойств 
    '1.image': '0:'
    '1.amount': 'i:23,52,16'

    'related' => [ 
        //частичная точечная нотация
        'properties.amount': '><:52|75',
        ...
    ]
]
bash
php artisan vendor:publish --tag=filterable-light-config