objectbox / objectbox/objectbox-java

ability to link queries with OR not just AND

Offen
#1,223 1 Kommentar 4 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

enhancement
Vorherrschende Sprache
Java
Sterne
4.6k
Forks
311
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Use case

I have a DB where EntryA has one-to-many relationships with EntryB.
I encountered a case where I have a text field, and I want to query the EntryA database to retrieve all entries filtered by that text field's value.
So for value 'aa', I want to get all the EntryA values where EntryA.name contains 'aa' OR(not AND, which is the default) if EntityA.items contain items with name containing 'aa'

Code example


        final builder =
            store.box<EntryA>().query(EntryA_.name.contains('aa'))
              ..link(EntryA_.owner, Owner_.id.equals(123))
              ..backlink(EntryB_.parent, EntryB_.name.contains('bb'));

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne beim Query-Einstiegspunkt store.box<EntryA>().query(...) und untersuche, wie die gezeigten link- und backlink-Constraints kombiniert werden. Definiere, wie ein OR zwischen EntryA.name.contains('aa') und passenden verwandten Elementen funktionieren soll, und überprüfe das Verhalten mit einem fokussierten Query-Beispiel. Erledigt ist die Aufgabe, wenn Queries die angeforderte OR-Beziehung ausdrücken können, statt nur AND-Semantik anzuwenden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
dart
Bereich
database
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.