PHP code example of infinitypaul / laravel-database-filter
1. Go to this page and download the library: Download infinitypaul/laravel-database-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/ */
infinitypaul / laravel-database-filter example snippets
namespace App;
use App\Filters\RecordFilter;
use Infinitypaul\LaravelDatabaseFilter\Traits\filterTrait;
class Course extends Model
{
use filterTrait;
protected $filter = RecordFilter::class; //mother filter class
}
namespace App\Filters;
use Illuminate\Database\Eloquent\Builder;
use Infinitypaul\LaravelDatabaseFilter\Abstracts\FilterAbstract;
class DebtFilter extends FilterAbstract
{
public function mappings ()
{
return [];
}
public function filter(Builder $builder, $value)
{
return $builder;
}
}
namespace App\Filters;
use Illuminate\Database\Eloquent\Builder;
use Infinitypaul\LaravelDatabaseFilter\Abstracts\FilterAbstract;
class DeptFilter extends FilterAbstract
{
public function mappings ()
{
return [];
}
public function filter(Builder $builder, $value)
{
return $builder->where('dept', $value);
}
}
namespace App\Filters;
use Illuminate\Database\Eloquent\Builder;
use Infinitypaul\LaravelDatabaseFilter\Abstracts\FilterAbstract;
class LevelFilter extends FilterAbstract
{
public function mappings ()
{
return [];
}
public function filter(Builder $builder, $value)
{
return $builder->where('level', $value);
}
}
namespace App\Filters;
use Illuminate\Database\Eloquent\Builder;
use Infinitypaul\LaravelDatabaseFilter\Abstracts\FilterAbstract;
class GradeFilter extends FilterAbstract
{
public function mappings ()
{
return [];
}
public function filter(Builder $builder, $value)
{
return $builder->where('grade', $value);
}
}
namespace App\Http\Controllers;
use App\Course;
use App\Filters\AccessFilter;
use Illuminate\Http\Request;
class RecordController extends Controller
{
public function index(Request $request){
return Course::filter($request)->get();
}
}
namespace App\Filters;
use Illuminate\Database\Eloquent\Builder;
use Infinitypaul\LaravelDatabaseFilter\Abstracts\FilterAbstract;
class DeptFilter extends FilterAbstract
{
public function mappings ()
{
return [
'csc' => 'CSC'
];
}
public function filter(Builder $builder, $value)
{
return $builder->where('dept', $value);
}
public function index(Request $request){
return Record::filter($request, ['score' => DifficultyFilter::class])->get();
}
public function course(Request $request){
return Record::filter($request, PaulFilter::class, ['score' => DifficultyFilter::class])->get();
}
php
namespace App\Filters;
use Infinitypaul\LaravelDatabaseFilter\Abstracts\FiltersAbstract;
class RecordFilter extends FiltersAbstract {
protected $filters = [];
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.