Имам това в един от моите контролери, той използва EXCEPT
, но можете да го промените на пресичане.
Предварително създавам 2 отделни заявки. Тогава правя:
$query = Thread::query()
->fromRaw(
'(SELECT * FROM ((' . $unioned->toSql() . ') EXCEPT ' . $excludeExplicit->toSql() . ') AS threads) AS threads',
array_merge($unioned->getBindings(), $excludeExplicit->getBindings())
);
Ще ми е любопитно да науча дали това е най-добрият начин. Поне за мен върши работа.