sql >> Databáze >  >> RDS >> Mysql

Laravel pořadí má mnoho vztahů

Je důležité pochopit, jak funguje nedočkavé načítání Laravelu. Pokud dychtivě načteme váš příklad, Laravel nejprve načte všechna vlákna. Poté načte všechny komentáře a přidá je do objektu vláken. Protože se používají samostatné dotazy, není možné seřadit vlákna podle komentářů.

Místo toho musíte použít připojení. Všimněte si, že v tomto příkladu hádám názvy vašich tabulek/sloupců.

$threads = Thread::leftJoin('comment', 'comment.thread_id', '=', 'thread.id')
    ->with('comments')
    ->orderBy('comment.created_at', 'desc')
    ->get();

Protože se připojujete, možná budete muset ručně zadat sloupce, abyste vybrali názvy sloupců v tabulkách.

$threads = Thread::select('thread.*')->leftJoin('comment', 'comment.thread_id', '=', 'thread.id')
    ->with('comments')
    ->orderBy('comment.created_at', 'desc')
    ->get();


  1. Jak aktualizovat tabulku pomocí activeandroid po přidání nového sloupce

  2. Přístup odepřen uživateli ''@'localhost' (pomocí hesla:NE)

  3. jak získat součet sloupce s dotazem codeigniter

  4. NodeJS MySQL výpis