私はFirebaseに2つの異なる配列を持っています:最初は "一般的な投稿"で、2番目は "お気に入りの投稿"です。Angularfire - 配列内のすべてのオブジェクトの一意のIDを取得する
お気に入りの投稿をしたい場合は、この一般的な投稿のすべてのデータを同じIDの「お気に入りの投稿」にコピーします。
投稿名が変更された場合、「一般的な投稿」のみが変更され、「お気に入りの投稿はユーザー」にそのまま残ります。
だから私はこのような「一般的なポスト」にのみポスト名を取得しよう:
...var postRef = new Firebase("https://myapp.firebaseio.com/posts")
var userFavoriteRef = userRef.child($scope.user_id).child("favorite_posts")
$scope.favoritePosts = $firebaseArray(userFavoriteRef)
var favoritePosts = $firebaseArray(userFavoriteRef)
userFavoriteRef.once("value", function(snapshot) {
snapshot.forEach(function(childSnapshot) {
var key = childSnapshot.key()
$scope.key = childSnapshot.key()
postRef.child($scope.key).child("name").once('value', function(snap) {
console.log(snap.val())
$scope.name = snap.val()
})
})
})
しかし、私は...私のコンソールログに「ヌル」を持っており、それはいけない仕事です
多分私の論理は偽です...
あなたはどう思いますか?保留中です...ありがとう!
私の例はありますか?私は他に何ができるのか分かりません... – PositivProd
私はあなたのアイデアを理解しています、これは私がしたいことです。しかし、私はこれをどうすればできるのか分かりません... – PositivProd
謝罪、私は適切なコードの応答を書く時間がありません。あなたのお気に入りのfirebase配列を使用して、それをあなたのアプリの変数に設定し、その配列をループし、firebase .once()を実行して、ユーザのお気に入りのそれぞれの一意のIDの値を取得することができます。それらをng-repeatとしてアプリケーションのフロントエンドに同期するスコープ変数にプッシュします。お気に入りの数が増えるにつれて、かなり重い取引ですが、今のニーズに合っています。 – funador