В течение некоторого времени я пытался выяснить, как добиться индивидуального заказа в моем eloquent (коллекции?):
Это моя коллекция (обратите внимание, что я не использовал -> get (), потому что в последней части функции я использую это для расширения запроса / коллекции)
$ads = Ad::whereIn('ad_type',[2,3,1]); <-- This is my Desired Output as well.
В моей таблице объявлений есть несколько элементов с каждым типом объявления.
Итак, я попробовал:
$ads1 = Ad::where('ad_type',1);
$ads2 = Ad::where('ad_type',2);
$mergedAds = $ads1->merge($ads2);
Но я просто получаю:
'Call to undefined method Illuminate\Database\Query\Builder::merge()'
Затем я попытался оставить $ ads1 как есть и добавить:
$ads2 = sortBy(function($ads) use ($ad_types) {
return array_search($ads->getKey(), $ad_types);
});
но это не массив, так что это не сработает. Кто-нибудь может направить меня в правильном направлении? И, возможно, объясните, в чем может быть разница между Collection, Eloquent Collection и Query, чтобы я мог лучше понять это.
Огромное спасибо заранее. (Почему я задаю этот вопрос: я видел людей, делающих collect () или new Collection (), и я не знаю, что это такое, также я не нашел ничего полезного)