Frage

Ich versuche, eine Abfrage für die Find-as-you-type-Suchleiste zu schreiben. Was ich tun möchte, ist Abfrage „Kind“ und kehren alle Arten, für die ein Local ist mit ( ‚name‘ LIKE% @ UND LocaleIdentifier ==% @).

Wenn ich nur die Namen der Suche (so die LocaleIdentifier ignorieren), ich so etwas tun könnte:

ANY localized.name LIKE %@

Was ich will, ist etwas mehr wie

ANY localized.(name LIKE %@ AND localeIdentifier == %@)

Um es zusammenzufassen, „Kind“, einem Artikel in der n-Beziehung „lokalisiert“ gesucht sollten beide Namen übereinstimmen und LocaleIdentifier.

Alle Ideen für die korrekte Syntax das?

War es hilfreich?

Lösung

Was Sie wollen, ist ein Unterabfrage . In Prädikat Format Syntax:

SUBQUERY(self.localized, $x, $x.name LIKE %@ AND $x.localeIdentifier == %@).@count > 0

, wo der SUBQUERY Ausdruck eine Sammlung von Instanzen in der self.localized Sammlung zurückgibt, die das Prädikat im dritten Argument übereinstimmen. Kind Instanzen für die diese Unterabfrage Ausdruck nicht leer ist (dh @count > 0) den gewünschten Kriterien entsprechen.

Die Unterabfrage-Expression wurde in OS X 10.5 eingeführt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top