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.