Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Вроде задача логическая но думаю как сделать красивее. И так:
Есть коллекция изображений:
Каждое изображение имеет свой ID ну из базы конечно же, и имеется входящий массив данных для сортировки типа
[23,20]
Теперь надо сортировать коллекции массив чтоб на первом месте там в коллекции был сначала картинка под ID 23 а след. 20.
Можно сделать коллекцию новую и выдергивать по мере прохождения массива [23,20] туда картинки, ну и потом что останется докинуть уже без сортировки.
Вариант два, сделать сразу в модели какой то хитрый запрос в базу , но я не знаю как...
Может есть более изящные решения?
Нужно для реализации след функционала:
юзер дает в урле get запрос типа, images=23,20 я его ловлю, и говорю движку что выводить картинки надо именно в этом порядке, сначала картинку под id 23 потом под 20, ну слайдер. Так гибко получается очень, человек может меняя урл задавать разные параметры сортировки изображений в разных ситуациях.
Изменено Normand (17.01.2018 01:40:10)
Не в сети
$ids = [23, 20];
$images = Image::whereIn('id', $ids)->get()->sortBy(function($model) use ($ids){
return array_search('id', $ids);
});
Изменено vladislavTkachenko (17.01.2018 13:48:20)
Не в сети
Не в сети
Страницы 1