====== Filter class ====== The filter class is used as an easy and high performance way of retrieving Datarecords. A filter is constructed by naming which class we want to filter $filter = new Filter('User'); Then one or more conditions can be added: $filter->addCondition(new ConditionMatch('lastname', 'sahl')); And at last the filter is executed which will return a [[collection_class|Collection]] with the results. $datacollection = $filter->execute(); ===== Conditions ===== The following conditions are available: new ConditionAND($condition1, $condition2); // Return objects for which both conditions are true. new ConditionGreater($field, $value); // Return objects where the content of $field are greater than $value. new ConditionGreaterEqual($field, $value); // Return objects where the content of $field are greater or equal than $value. new ConditionInFilter($field, $filter); // Return objects where the content of $field are present in the filter $filter. new ConditionLesser($field, $value); // Return objects where the content of $field are lesser than $value. new ConditionLesserEqual($field, $value); // Return objects where the content of $field are lesser or equal than $value. new ConditionLike($field, $value); // Return objects where the content of $field contains part of $value. new ConditionMatch($field, $value); // Return objects where the content of $field is exactly $value. new ConditionNOT($condition); // Return all objects which isn't matched by $condition. new ConditionOR($condition1, $condition2); // Return objects where one of the conditions is true. new ConditionOneOf($field, $values); // Return objects where the content of $field is one of the supplied $values. Not all conditions work on all field types. ===== Serializing filters ===== Filters can be serialized as a JSON string, so they can be stored in databases or passed through forms. $json = $filter->toJSON(); And they can be reconstructed just as easy. $filter = Filter::getFilterFromJSON($json);