Sangat penting untuk memahami cara kerja pemuatan bersemangat Laravel. Jika kami ingin memuat contoh Anda, Laravel terlebih dahulu mengambil semua utas. Kemudian ia mengambil semua komentar dan menambahkannya ke objek utas. Karena kueri terpisah digunakan, tidak mungkin memesan rangkaian pesan melalui komentar.
Anda harus menggunakan join sebagai gantinya. Perhatikan bahwa saya menebak nama tabel/kolom Anda dalam contoh ini.
$threads = Thread::leftJoin('comment', 'comment.thread_id', '=', 'thread.id')
->with('comments')
->orderBy('comment.created_at', 'desc')
->get();
Karena Anda bergabung, Anda mungkin perlu menentukan kolom secara manual untuk memilih nama kolom tabel Anda.
$threads = Thread::select('thread.*')->leftJoin('comment', 'comment.thread_id', '=', 'thread.id')
->with('comments')
->orderBy('comment.created_at', 'desc')
->get();