Kulaxyz
@Kulaxyz
Могу лучше

Почему не работает sort() Laravel?

Нужно вывести диалоги, при этом сущности чатов, как таковой нет. Есть просто сообщения, в которых sender_id и receiver_id. Теперь нужно выводить список чатов. Тут натолкнулся на проблему, что не получается сортировать юзеров по последнему сообщению, подскажите, что не так с кодом?
$users = $users->sort(function ($user){
            return $user->lastMessage->created_at->toDateTimeString();
        });


Выводит вообще в левом порядке, никакой зависимости нет от даты последнего сообщения.
  • Вопрос задан
  • 182 просмотра
Пригласить эксперта
Ответы на вопрос 2
Alex_Wells
@Alex_Wells
PHP/Kotlin
->sortByDesc('lastMessage.created_at')
?
Ответ написан
Комментировать
v_decadence
@v_decadence
Потому что в функцию sort нужно передавать коллбек по аналогии с PHP-функцией uasort, там свои особенности.
Нужно использовать sortBy / sortByDesc.
https://github.com/laravel/framework/blob/6.x/src/...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы