Есть запрос, примерно такого вида (на самом деле он сложней, куча условий where и join в селекте):
insert into offers (sku, name, availability, price)
select concat(cast(products.id as char), 'ff'),
products.name,
products.availability,
products.price
from products
where products.quantity > 0 &&
products.price > 1000
on duplicate key update name = value(name),
availability = value(availability),
price = value(price);
Как написать его через Laravel Query Builder?
Для
insert into ... on duplicate key update есть метод
upsert
Для
insert into ... select есть метод insertUsing (нет в документации вроде как).
Но мне надо это как-то совместить