Я хочу отсортировать коллекцию по идентификатору, где идентификаторы хранятся в пользовательском массиве.
Я делаю что-то вроде этого:
// get the slides images
$allSlides = DB::table('homepage_slides')->paginate(10);
// slideOrderSetting is a json, storing the order for slides [{"id":4},{"id":1},{"id":2},{"id":3},{"id":5},{"id":6}]
$slideOrder = json_decode($slideOrderSetting, true);
// sort the slides
$slides = array();
foreach ($slideOrder as $order){
foreach ($allSlides as $slide){
if((int)$order['id'] === (int)$slide->SlideID){
array_push($slides, $slide);
break;
}
}
}
// get the slide array sorted
return $slides;
Слайды в массиве сортируются, но ... проблема в том, что я потерял нумерацию страниц и другие вещи из коллекции $ allSlides.
Как отсортировать коллекцию слайдов, используя пользовательский массив с идентификаторами?