Важно е да разберете как работи нетърпеливото зареждане на Laravel. Ако желаем да заредим вашия пример, Laravel първо извлича всички нишки. След това извлича всички коментари и ги добавя към обекта нишки. Тъй като се използват отделни заявки, не е възможно да се подреждат нишки по коментари.
Вместо това трябва да използвате присъединяване. Имайте предвид, че предполагам имената на вашите таблици/колони в този пример.
$threads = Thread::leftJoin('comment', 'comment.thread_id', '=', 'thread.id')
->with('comments')
->orderBy('comment.created_at', 'desc')
->get();
Тъй като се присъединявате, може да се наложи ръчно да посочите колони, за да изберете имената на колоните на вашите таблици.
$threads = Thread::select('thread.*')->leftJoin('comment', 'comment.thread_id', '=', 'thread.id')
->with('comments')
->orderBy('comment.created_at', 'desc')
->get();