PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como faço um INTERSECT usando o Eloquent Builder sem ter uma coleção


Eu tenho isso em um dos meus controladores, está usando EXCEPT , mas você pode alterá-lo para cruzar.

Eu pré-construo 2 consultas separadas. Do que eu:
$query = Thread::query() 
    ->fromRaw( 
        '(SELECT * FROM ((' . $unioned->toSql() . ') EXCEPT ' . $excludeExplicit->toSql() . ') AS threads) AS threads', 
        array_merge($unioned->getBindings(), $excludeExplicit->getBindings()) 
    );

Eu ficaria curioso para saber se esta é a melhor maneira embora. Pelo menos faz o truque para mim.