MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Php Рекурсивно въвеждане на категории в MongoDB

РЕДАКТИРАНЕ:С всички нови данни разбирам ясно какво се опитвате да постигнете.

Така че редактирах старата си функция, това е нова, която трябва да работи добре във вашия код. Кажете ми, за да мога да коригирам, ако е необходимо.

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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да намеря прилика в документно поле MongoDB?

  2. MongoDB $sum и $avg от поддокументи

  3. Репликирайте само документи, където {'public':true} в MongoDB

  4. Запитване за тригери за изтриване на MongoDB

  5. Как да инсталирате MongoDB като услуга на Windows 8.1