у меня есть некоторые проблемы с laravel sortBy (laravel 5.4) .. основываясь на том, что я читал на многих сайтах, он говорит, что для выполнения множественного sortBy laravel использовался обратный порядок .. поэтому я пытаюсь это сделать ... но все жене работает должным образом ..
Итак, вот оно ... У меня есть коллекция объектов ...
[{
'product_id' => 468,
'name' => 'abc',
'int_premi' => 10000
'score' => 1000
'rates' => 0,
'views' => 0,
'promo' => null
},{
'product_id' => 472,
'name' => 'bcd',
'int_premi' => 10000
'score' => 1000
'rates' => 0,
'views' => 0,
'promo' => 'Some text here'
},{
'product_id' => 458,
'name' => 'def',
'int_premi' => 10000
'score' => 1000
'rates' => 0,
'views' => 0,
'promo' => 'ABC'
}]
Моя цель - отсортировать эти объекты в следующем порядке
оценка (asc)> int_premi (asc)> нормы (desc)> промо (как логическое значение) (desc)> views (desc)> product_id (desc)
Итак, я пишуэтот код ..
$collection->sortByDesc('product_id')->sortByDesc('views')->sortByDesc(function($arr,$k){
return !empty($arr->promo);
})->sortByDesc('rates')->sortBy('int_premi')->sortBy('score')->values()->all()
Я ищу, результат приходит с этим заказом
BCD> DEF> ABC
Вместо, неследуя этому порядку ..
Так есть ли кто-нибудь, кто сталкивался с той же проблемой со мной?и, может быть, кто-то может помочь мне решить эту проблему?
Спасибо большое