For each scalar, the builder generates a comparison input type. It defines the operators available when you filter a field of that type. Generated query schemas use these as the field types inside a filter argument.
| Comparison type | Applies to |
|---|---|
StringFieldComparison | String columns |
IntFieldComparison | Int columns |
FloatFieldComparison | Float columns |
BooleanFieldComparison | Boolean columns |
DateFieldComparison | Date columns |
DateTimeFieldComparison | DateTime columns |
IDFieldComparison | ID columns |
Each comparison type exposes only the operators that make sense for its scalar:
| Scalar | Operators |
|---|---|
String | eq, neq, like, notLike, in, notIn |
Int, Float | eq, neq, lt, lte, gt, gte, in, notIn |
ID | eq, neq, in, notIn |
Date, DateTime | eq, neq, lt, lte, gt, gte (no in/notIn) |
Boolean | is, isNot only |
So a Date filter has no in, and a Boolean filter uses is/isNot rather than eq/neq. These operators map to the query-builder field operators that become the SQL WHERE clause.