PHP code example of devaction-labs / filterable-package
1. Go to this page and download the library: Download devaction-labs/filterable-package 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/ */
devaction-labs / filterable-package example snippets
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use DevactionLabs\FilterablePackage\Traits\Filterable;
class Expense extends Model
{
use Filterable;
// Define any custom filter map or allowed sorts if necessary
protected array $filterMap = [
'name' => 'user_name', // Example: map 'name' request parameter to 'user_name' column
];
protected array $allowedSorts = ['expense_date', 'amount']; // Example: allow sorting by these columns
}
namespace App\Http\Controllers\Api\Finance;
use App\Http\Controllers\Controller;
use App\Http\Resources\ExpenseCollection;
use App\Models\Expense;
use DevactionLabs\FilterablePackage\Filter;
class ExpenseController extends Controller
{
public function index(): ExpenseCollection
{
$expenses = Expense::query()
->with(['category', 'period'])
->filtrable([
Filter::like('description', 'description'),
Filter::exact('expense_date', 'expense_date'),
])
->orderBy('expense_date', 'desc')
->get();
return new ExpenseCollection($expenses);
}
}