[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: В Laravel 5.6 сортировка как среднее по 2м полям
mstdmstd
Всем привет!

В Laravel 5.6 ( PHP Version 7.1.15-0ubuntu0.17.10.1 ) делаю сортировку как среднее по 2м полям:

    public function get_most_rating_artists()
{
try {
$limit = 0;
$tempMostRatingArtistsList = Artist::getArtistsList(ListingReturnData::LISTING, ['is_active' => 'A', 'show_related_votes' => 1, 'limit' => $limit]);

} catch (Exception $e) {
return response()->json([
'error_code' => 1,
'message' => $e->getMessage(),
],
HTTP_RESPONSE_INTERNAL_SERVER_ERROR);
}
$mostRatingArtistsList= $tempMostRatingArtistsList->toArray();
$ret= uasort($mostRatingArtistsList, array($this,'mySortMethod') );
echo '<pre>$ret::'.print_r($ret,true).'</pre>'; // ЗАКОМЕНТАРИТЬ
echo '<pre>$mostRatingArtistsList::'.print_r($mostRatingArtistsList,true).'</pre>'; // ЗАКОМЕНТАРИТЬ

return response()->json([
'error_code' => 0,
'message' => '',
'mostRatingArtistsList' => $mostRatingArtistsList,
],
HTTP_RESPONSE_OK);
} // public function get_most_rating_artists()


public function mySortMethod($a, $b)
{
$a_rating = round($a['related_votes_sum'] / $a['related_votes_count'],2);
$b_rating = round($b['related_votes_sum'] / $b['related_votes_count'],2);
if ($a_rating == $b_rating) {
return 0;
}
return ($a_rating < $b_rating) ? 1 : -1;

}

Код выше работает правильно но если закоментарить все строки вывода(как и должно быть) то получаю неотсортированный массив - и не поцму почему ?

Спасибо !
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.