2016-11-23 4 views
1

2つのレルムデータモデルがあります。 'Foods'モデルには、FoodsRatingsモデルへのリンクとなるように意図されたオブジェクトプロパティタイプ 'foodRating'があります。Realm React Native - オブジェクトプロパティタイプを割り当てる方法

class FoodRatings extends Realm.Object {} 
FoodRatings.schema = { 
    name: 'FoodRatings', 
    primaryKey: 'foodRatingId', 
    properties: { 
    foodRatingId: { type: 'int', indexed: true }, 
    name: 'string', 
    } 
}; 


class Foods extends Realm.Object {} 
Foods.schema = { 
    name: 'Foods', 
    primaryKey: 'foodId', 
    properties: { 
    foodId: { type: 'int', indexed: true }, 
    name: 'string', 
    foodRating: {type: 'FoodRatings'}, 
    } 
}; 

FoodRatings静的で不変であることが意図される行の数と予め設定されます。 FoodRatingsのオプションの1つから食品にfoodRatingを割り当てます。

私が抱えている問題は、新しいFoodsオブジェクトを作成し、 'foodRating'プロパティにFoodRatingsオブジェクトを割り当てようとするときに壊れます。

私は、領域のための 'リンク'について多くの話をしていますが、それはまだ領域jsのためにリリースされていません。すべてのサンプルとドキュメントは、モデルに割り当てようとしている既存のオブジェクトではなく、新しいエントリを想定しています。

どうすればいいですか?

答えて

1

免責事項まず、私はRealm Swiftを使用しており、Realm React Nativeを一度も使用していません。

ドキュメントによれば、あなたはfoodRatingの定義が間違っているようです。私はそれが例のようにすべきであると思っているだろう。

ie。

foodRating: {type: 'list', objectType: 'FoodRatings'} 

はレルムスウィフトに存在しますが、あなたの場合には、おそらくその評価を持っている全ての食品に食品の評価からリンクバックするために使用される「リンク」。だから私はそれが別の問題を解決すると思う。

1

どのようなエラーが表示されますか?

あなたの例では、私

realm.write(() => { 
    realm.create('FoodRatings', {foodRatingId: 10, name: '1 star'}); 
    realm.create('FoodRatings', {foodRatingId: 20, name: '2 star'}); 
    realm.create('FoodRatings', {foodRatingId: 30, name: '3 star'}); 
}); 

let foodRatings = realm.objects('FoodRatings'); 
foodRating = foodRatings.filtered('foodRatingId = 10'); 
realm.write(() => { 
    realm.create('Foods', {foodId: 1, name: 'apples', foodRating: foodRating[0]}); 
}); 

let foods = realm.objects('Foods'); 
console.log("foods[0]= " + foods[0].name); 
のために働きます
関連する問題