Filters
Query builder
QueryBuilder is a filter where people build their own rules, matching all or any.
use Xelqun\Tables\Filters\Constraints\BooleanConstraint;
use Xelqun\Tables\Filters\Constraints\DateConstraint;
use Xelqun\Tables\Filters\Constraints\NumberConstraint;
use Xelqun\Tables\Filters\Constraints\SelectConstraint;
use Xelqun\Tables\Filters\Constraints\TextConstraint;
use Xelqun\Tables\Filters\QueryBuilder;
QueryBuilder::make('rules')
->label('Custom rules')
->constraints([
TextConstraint::make('name'),
TextConstraint::make('category.name')->label('Category'),
NumberConstraint::make('price'),
DateConstraint::make('released_at'),
BooleanConstraint::make('is_featured'),
SelectConstraint::make('status')->options(['draft' => 'Draft', 'active' => 'Active']),
]);
Use a dot for a relation. Only the constraints you list can be asked about, and a rule with a bad value is skipped.
Rules match all or any. Nested groups aren't supported yet.