Tôi có cái này trong một trong những bộ điều khiển của mình, nó đang sử dụng EXCEPT
, nhưng bạn có thể thay đổi nó thành giao nhau.
Tôi xây dựng trước 2 truy vấn riêng biệt. Hơn tôi làm:
$query = Thread::query()
->fromRaw(
'(SELECT * FROM ((' . $unioned->toSql() . ') EXCEPT ' . $excludeExplicit->toSql() . ') AS threads) AS threads',
array_merge($unioned->getBindings(), $excludeExplicit->getBindings())
);
Tôi rất tò mò muốn tìm hiểu xem đây có phải là cách tốt nhất hay không. Ít nhất thì nó cũng có lợi cho tôi.