sql >> データベース >  >> NoSQL >> MongoDB

PHPMongoDBに再帰的にカテゴリを入力する

    編集:すべての新しいデータで、私はあなたが何を達成しようとしているのかを明確に理解しています。

    だから私は古い関数を編集しました、これはあなたのコードでまっすぐに機能するはずの新しい関数です。必要に応じて調整できるように私に知らせてください。

    public function setCategories($user_id)
    {
        $api = new ApiCategory($user_id);
        $cats = $api->getCategories(); // retrieves structure above
    
        $newCats = null;
        self::recursiveCatTree($newCats, $cats);
        $this->categories = $newCats;
    
        $this->save(); // save the entire array of embedded documents
    
        if($this->getErrors())
            var_dump($this->getErrors);
    
    }
    
    public static function recursiveCatTree(&$result, $parent)
    {
        $children = $parent['children'];
    
        //we unset the children so we dont have manually set every other variable
        unset( $parent['children']);
        $result = new Category();
        $result->attributes = $parent;
    
        //then loop the children, if no children it wont loop
        // so it will just be an empty    array
        foreach($children as $child)
        {
           $baby = null;
           self::recursiveCatTree($baby, $child);
           $result->children[] = $baby;
        }
    
    }
    



    1. MongoDB c#ドライバー:大文字と小文字を区別しないlinqを使用してリストにinまたはcontainsを使用して比較

    2. Golangmongodbアグリゲーション

    3. SQLクエリのMongo言語への翻訳

    4. マングースはデータを期限切れにしますが、データベースに保持します