Задать вопрос
Minifets
@Minifets
Hello world!!!

Алгоритм для распределения массива на потоки?

Доброго времени суток.

Есть 2 таблицы Subject и Service, связаны many-to-many.

При выборке (или после) нужно сгруппировать subject по service, так чтобы распределение subject было примерно равным.

Пример:

Нужно из:

[
    [
        'subject_id' => 1,
        'service_ids' => [1]
    ],
    [
        'subject_id' => 2,
        'service_ids' => [1, 2]
    ]
]


Получить:
[
    [
        'service_id' => 1,
        'subject_ids' => [1]
    ],
    [
        'service_id' => 2,
        'subject_ids' => [2]
    ]
]
  • Вопрос задан
  • 170 просмотров
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
@BorisKorobkov Куратор тега PHP
Web developer
При выборке (или после) нужно сгруппировать subject по service, так чтобы распределение subject было примерно равным.

"Распределение subject" зависит от исходных данных. Алгоритмом его нельзя сделать равномернее или нет.

Нужно из:
...
'subject_id' => 2,
'service_ids' => [1, 2]
...
Получить:
...
'service_id' => 1,
'subject_ids' => [1]
...

А куда делать пара ['subject_id' => 2, 'service_id' => 1] ?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы