1. Go to this page and download the library: Download bakhadyrovf/easy-filter 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/ */
bakhadyrovf / easy-filter example snippets
return [
/**
* Base folder's name in app directory.
* Default: Filters
*/
'base-folder' => 'Filters'
];
namespace App\Filters\ArticleFilter;
use Bakhadyrovf\EasyFilter\QueryFilter;
class ArticleFilter extends QueryFilter
{
}
namespace App\Models\Admin;
use Bakhadyrovf\EasyFilter\Traits\Filterable;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use App\Filters\Dashboard\ArticleFilter;
class Discount extends Model
{
use HasFactory, Filterable;
public function provideFilter()
{
return ArticleFilter::class;
}
}
class ArticleFilter extends QueryFilter
{
public function title(Builder $builder, $value)
{
return $builder->where('title', 'LIKE', $value . '%');
}
}
use App\Models\Article;
use Illuminate\Http\Request;
class ArticleController extends Controller
{
public function index(Request $request)
{
$articles = Article::filter()
->orderByDesc('id')
->get();
return $articles;
}
}
Class ArticleFilter extends QueryFilter
{
public function firstName(Builder $builder, $value)
{
return $builder->where('first_name', 'LIKE', $value . '%');
}
}
Class ArticleFilter extends QueryFilter
{
public function categoryIds(Builder $builder, $values)
{
return $builder->whereHas('categories', function ($query) use ($values) {
return $query->whereIn('id', $values);
});
}
}
use App\Models\User;
use Illuminate\Http\Request;
class UserController extends Controller
{
public function index(Request $request)
{
$users = User::active()
->filter(['postIds']) // Or post_ids
->orderByDesc('created_at')
->get();
return $users;
}
}
use App\Models\Post;
use App\Filters\Dashboard\PostFilter;
use Illuminate\Http\Request;
class UserController extends Controller
{
public function index(Request $request)
{
$posts = Post::active()
->filter(['sort_by'], PostFilter::class)
->orderByDesc('created_at')
->get();
return $posts;
}
}
php artisan make:filter Dashboard/ArticleFilter
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.