Laravel - Сброс результатов массива - PullRequest
0 голосов
/ 12 февраля 2020

Пожалуйста, рассмотрите коды ниже:

$cars = Car::get();
$car_ids = $cars->pluck('id');

$parts = Part::whereIn('car_id', $car_ids)->get();

foreach($cars as $car){
   $part_each = $parts->where('car_id', $car->id)->toArray();

   dump($part_each);
}

С кодом выше я получаю:

array:1 [▼
  0 => array:4 [▶]
]
array:2 [▼
  1 => array:4 [▶]
  2 => array:4 [▶]
]
array:3 [▼
  3 => array:4 [▶]
  4 => array:4 [▶]
  5 => array:4 [▶]
]

Что мне нужно:

array:1 [▼
  0 => array:4 [▶]
]
array:2 [▼
  0 => array:4 [▶]
  1 => array:4 [▶]
]
array:3 [▼
  0 => array:4 [▶]
  1 => array:4 [▶]
  2 => array:4 [▶]
]

1 Ответ

2 голосов
/ 12 февраля 2020

$parts - это коллекция, вы можете использовать values ​​() , чтобы игнорировать ключ:

$part_each = $parts->where('car_id', $car->id)->values()->all();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...