Итак, у меня есть таблица locations
в базе данных, которая содержит seller_id
. Многие местоположения могут иметь один и тот же seller_id, в то время как местоположения уникальны.
В функции я получаю входной массив, который является списком местоположений, и у каждого местоположения есть свой массив, который является списком вариантов. Пример
$data = [
23 => [40 => 1, 25 => 2],
6 => [22 => 3, 24 => 4],
28 => [22 => 3, 24 => 4],
18 => [22 => 3, 24 => 4],
]
Итак, 23,6,28 and 18
- это местоположения, а 40,25,22,24
- это варианты.
Проблема здесь в том, что мне нужен массив seller_id
, и каждый seller_id
будет иметь массив их соответствующих вариантов. И мне нужно сделать это оптимизированным способом.
Я полагаю, что-то в этом роде,
$locationIDs = collect($inventoryData)->keys();
$locationBySellers = Location::whereIn('id', $locationIDs)->pluck('seller_id','id');
foreach ($locationBySellers as $location => $seller) {
$variants = array_keys($data[$location]);
echo "Seller: ".$seller.", Variants: ".$variants."\n";
//How to know if no more sellers are present with value $seller
}
Можете ли вы помочь мне с этим. Любой совет будет оценен