Det är viktigt att förstå hur Laravels ivriga lastning fungerar. Om vi ivrigt laddar ditt exempel, hämtar Laravel först alla trådar. Sedan hämtar den alla kommentarer och lägger till dem i trådobjektet. Eftersom separata frågor används är det inte möjligt att beställa trådar efter kommentarer.
Du måste använda en join istället. Observera att jag gissar på ditt bord/kolumnnamn i det här exemplet.
$threads = Thread::leftJoin('comment', 'comment.thread_id', '=', 'thread.id')
->with('comments')
->orderBy('comment.created_at', 'desc')
->get();
Eftersom du går med kan du behöva ange kolumner manuellt för att välja kolumnnamn för dina tabeller.
$threads = Thread::select('thread.*')->leftJoin('comment', 'comment.thread_id', '=', 'thread.id')
->with('comments')
->orderBy('comment.created_at', 'desc')
->get();