filter() method allows you to add conditions to your queries for precise data retrieval.
Overview
Filtering allows you to retrieve only the records that match specific conditions:Filter Operators
| Operator | Description | Example |
|---|---|---|
= | Equals | filter("status", "=", "published") |
!= | Not equals | filter("status", "!=", "draft") |
> | Greater than | filter("views", ">", 100) |
>= | Greater than or equal | filter("views", ">=", 100) |
< | Less than | filter("views", "<", 1000) |
<= | Less than or equal | filter("views", "<=", 1000) |
~ | Contains (text search) | filter("title", "~", "tutorial") |
!~ | Does not contain | filter("title", "!~", "draft") |
?= | Is empty/null | filter("excerpt", "?=") |
?! | Is not empty/null | filter("excerpt", "?!=") |
String Filtering
Number Filtering
Date Filtering
Boolean Filtering
Multiple Filters
Multiple filters are combined with AND logic:Raw Filter Strings
For complex conditions, use raw filter strings:Raw Filter Operators
| Operator | Description | Example |
|---|---|---|
&& | AND | status = 'published' && views > 100 |
|| | OR | status = 'published' || status = 'featured' |
() | Grouping | (status = 'published' || status = 'featured') && views > 100 |
Complex Examples
OR Condition
Nested Conditions
Select Fields in Filter
Filter on Relations
Filter on expanded relations:Case Sensitivity
Text filters are case-insensitive by default:Null Handling
Check for null/empty values:Filter Best Practices
1. Use Specific Filters
2. Combine with Indexes
Filter on indexed fields when possible for better performance:3. Use Pagination with Filters
Always paginate filtered queries:Complete Example
Next Steps
- Sorting - Sort query results
- Pagination - Paginate large result sets
- Query Overview - Query builder basics