Равномерно распределить коллекцию

180
06 февраля 2018, 10:09

Всем привет ребята, нужна помощь в распределении коллекций. Laravel 5.2 Есть 1 коллекция.

Collection {#434 ▼
  #items: array:4 [▼
    0 => Collection {#433 ▼
      #items: array:1 [▼
        0 => Catalog {#356 ▶}
      ]
    }
    1 => Collection {#432 ▼
      #items: array:1 [▼
        0 => Catalog {#357 ▶}
      ]
    }
    2 => Collection {#431 ▼
      #items: array:1 [▼
        0 => Catalog {#358 ▶}
      ]
    }
    3 => Collection {#430 ▼
      #items: array:1 [▼
        0 => Catalog {#353 ▶}
      ]
    }
  ]
}

Есть 2 коллекция.

Collection {#434 ▼
  #items: array:27 [▼
    0 => Catalog {#448 ▶}
    1 => Catalog {#449 ▶}
    2 => Catalog {#450 ▶}
    3 => Catalog {#451 ▶}
    4 => Catalog {#452 ▶}
    5 => Catalog {#453 ▶}
    6 => Catalog {#454 ▶}
    7 => Catalog {#455 ▶}
    8 => Catalog {#456 ▶}
    9 => Catalog {#457 ▶}
    10 => Catalog {#458 ▶}
    11 => Catalog {#459 ▶}
    12 => Catalog {#460 ▶}
    13 => Catalog {#461 ▶}
    14 => Catalog {#462 ▶}
    15 => Catalog {#463 ▶}
    16 => Catalog {#464 ▶}
    17 => Catalog {#465 ▶}
    18 => Catalog {#466 ▶}
    19 => Catalog {#467 ▶}
    20 => Catalog {#468 ▶}
    21 => Catalog {#469 ▶}
    22 => Catalog {#470 ▶}
    23 => Catalog {#471 ▶}
    24 => Catalog {#472 ▶}
    25 => Catalog {#473 ▶}
    26 => Catalog {#474 ▶}
  ]
}

Надо из второй коллекции добавить в первую коллекцию поочередно и равномерно распределилось т.е.

Collection {#434 ▼
  #items: array:4 [▼
    0 => Collection {#433 ▼
      #items: array:1 [▼
        0 => Catalog {#356 ▶}
        1 => Catalog {#448 ▶}
        2 => Catalog {#452 ▶}
        3 => Catalog {#456 ▶}
        4 => Catalog {#460 ▶}
        5 => Catalog {#464 ▶}
        6 => Catalog {#468 ▶}
        7 => Catalog {#472 ▶}
      ]
    }
    1 => Collection {#432 ▼
      #items: array:1 [▼
        0 => Catalog {#357 ▶}
        1 => Catalog {#449 ▶}
        2 => Catalog {#453 ▶}
        3 => Catalog {#457 ▶}
        4 => Catalog {#461 ▶}
        5 => Catalog {#465 ▶}
        6 => Catalog {#469 ▶}
        7 => Catalog {#473 ▶}
      ]
    }
    2 => Collection {#431 ▼
      #items: array:1 [▼
        0 => Catalog {#358 ▶}
        1 => Catalog {#450 ▶}
        2 => Catalog {#454 ▶}
        3 => Catalog {#458 ▶}
        4 => Catalog {#462 ▶}
        5 => Catalog {#466 ▶}
        6 => Catalog {#470 ▶}
        7 => Catalog {#474 ▶}
      ]
    }
    3 => Collection {#430 ▼
      #items: array:1 [▼
        0 => Catalog {#353 ▶}
        1 => Catalog {#451 ▶}
        2 => Catalog {#455 ▶}
        3 => Catalog {#459 ▶}
        4 => Catalog {#463 ▶}
        5 => Catalog {#467 ▶}
        6 => Catalog {#471 ▶}
      ]
    }
  ]
}
Answer 1

Спасибо за рекомендации реализовал следующим способом, не знаю в плане производительности возможно не хорошее решение, но сейчас главное результат:

protected function getCatalog() {
    $this->catalog = $this->catalog_rep->get('*',Config::get('settings.home_catalog_count'),FALSE,['category_id',32],['sort','asc']); // получаем весь массив
    $mobile_cat = $this->catalog->slice(0,4);   // получаем первую коллекцию и далее обрабатываем её
    $grouped = $mobile_cat->groupBy(function ($item, $key) {
        return $item->id;
    });
    $grouped->toArray();
    $grouped = $grouped->values(); // $grouped - первая двумерная коллекция
    $chunks_r = array();
    foreach (array_chunk($this->catalog->splice(4)->all(), 4) as $i => $chunk) {
        foreach ($chunk as $j => $el) {
            $chunks_r[$j][$i] = $el;
        }
    }
    foreach ($grouped as $key => $value) {
        foreach ($chunks_r[$key] as $value1)
            $value->push($value1);
    }
    return $grouped; // ответ
}
READ ALSO
php вывод текста

php вывод текста

Возможно ли приблизительно так, вывести текст:

160
Где хранить общие настройки сайта? (Laravel)

Где хранить общие настройки сайта? (Laravel)

Всем приветЕсть интернет-магазин на laravel

243
Возврат из PHP в AJAX

Возврат из PHP в AJAX

Отправляю сообщение на почтуСообщение отправляется и приходит, но в ajax не срабатывает success (нет уведомления об успешности) - бесконечно крутится...

247
$test->lol = “kek” VS $test['lol'] = “kek”; что лучше

$test->lol = “kek” VS $test['lol'] = “kek”; что лучше

задался интересным вопросом какую конструкцию лучше использовать strObj или переменную , в интернете ничего не нашел по этому поводу дельного

163