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

poddotaz s připojením v laravel

zkuste odeslat poddotaz jako nezpracovaný výraz jako první parametr v leftJoin() metoda, například:

$subquery = '(SELECT 
                    usr_log1.*
                FROM
                    users_log_logradouro AS usr_log1
                LEFT JOIN 
                    users_log_logradouro AS usr_log2 
                    ON usr_log1.user_id = usr_log2.user_id
                    AND usr_log1.created_at < usr_log2.created_at
                WHERE
                    usr_log2.user_id IS NULL) 
                AS temp';

    DB::table('users as usr')
        ->select(...)
        ->leftJoin(DB::raw($subquery), 'usr.id', '=', 'temp.user_id')
        ->leftJoin(...)
        ->join(...)
        ->join(...)
        ->join(...)
        ->leftJoin(...)
        ->leftJoin(...)
        ->leftJoin(...)
        ->where(...)
        ->get()

v těchto otázkách jsou podobné příklady:

Laravel Fluent Query Builder Připojit se pomocí dílčího dotazu

Jak psát toto (levé spojení, dílčí dotaz) v Laravelu 5.1?

další informace abaut se připojuje:https://laravel.com/docs/5.5/queries#joins



  1. Jak správně vložím více řádků do PG s node-postgres?

  2. Získejte všechny názvy tabulek, názvy sloupců a hodnoty sloupců ze specifické databáze

  3. Přidání spojených dat do výsledku dotazu

  4. MySQL - Jak hledat přesnou shodu slov pomocí LIKE?