テーブル構成は、 Person - name - List<Dog> Dog - name - List<Food> Food - name - gram という3テーブル構成であったとします。 データは Person.name=太郎 - Dog name="ポチ" Food.name="豚肉" Food.name="ドッグフード" Dog name="シロ" Food.name="ドッグフード" Person.name=次郎 - Dog name="ポチ" Food.name="豚肉" Food.name="鶏肉" Dog name="ムク" Food.name="ドッグフード" であったとします。 やりたいことはDog.nameが"ポチ"でそれにひもづくFood.nameが"ドッグフード"を持つPersonを取得したいとします。 つまり欲しいのは太郎だけです。 AndroidのRealm(Java)で書くと、 personList.where() .equalTo("dog.name", "ポチ") .equalTo("dog.food.name", "ドッグフード") // ※1 .findAll() これで1件取得できると思ったのですが、※1の行でdogとfoodのひもづけができておらず、 OR条件になり太郎と次郎の2件が取得されてしまいます。 ▼試したこと personList.where() .equalTo("dog.name", "ポチ") .findAll() .equalTo("dog.food.name", "ドッグフード") ⇒結果変わらず personList.where() .beginGroup() .equalTo("dog.name", "ポチ") .equalTo("dog.food.name", "ドッグフード") .endGroup() .findAll() ⇒結果変わらず
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。