Niektóre serwisy w przypadku zaawansowanego wyszukiwania wykorzystują zdefiniowane filtry, za pomocą których możemy określić kryteria wyszukiwania. Przydatne klasy:
Przedstawione poniżej przykłady operować będą na klasie User, która mapuje tabelę usertable w bazie danych. Do budowania filtrów jako pola, należy używać nazw pól zdefiniowanych w mapowanych klasach.
W pierwszym filtrze nie zdefiniowaliśmy operatora, dlatego uwzględniany jest domyślny operator EQ. Filtr ten ogranicza wyszukiwanie do użytkownika o loginie "jkowalski". Drugi filtr nadaje ograniczenie na użytkowników poza użytkownikiem o loginie "jkowalski". Świadczy o tym operator NOTEQ.
Powyższy przykład prezentuje filtry połączone warunkiem logicznym OR. Tak skonstruowany filtr wyszuka użytkowników których login lub imię lub nazwisko zaczynają się na literę "j".
W powyższym przykładzie został zdefiniowany złożony filtr grupowy. Wynikiem takiej implementacji będzie następujący warunek:
|
Some services for advanced search use defined filters with which we can specify search criteria. Useful classes
The examples below will operate on the User class, which maps the usertable table in the database. To build filters as fields, use the field names defined in the mapped classes.
In the first filter, we have not defined an operator, so the default EQ operator is included. This filter restricts the search to the user with the login "jkowalski". The second filter gives a restriction on users other than the user with the login "jkowalski". This is evidenced by the NOTEQ operator.
The above example presents filters connected by a logical OR condition. A filter constructed in this way will search for users whose login or first or last name begins with the letter "j".
In the above example, a complex group filter has been defined. The result of such an implementation will be the following condition:
|