У вас должен быть такой подход:
$a = Item::where('brand', 'acer');
$b = ItemArchive::where('brand', 'acer');
$results = $a->union($b)->get();`
В этом мы создаем 2 модели с поисковыми запросами, но не выполняем их.Наконец, мы union
их вместе и get()
результаты.Затем вы можете перебрать массив $results
для всех данных.
В качестве альтернативы вы можете скрыть всю эту логику внутри вашей Item
модели:
public function retrieveAllWithArchive($brand)
{
return $this->where('brand', $brand)->union((new ItemArchive)->where('brand', $brand))->get();
}
Затем вызвать ее изв любом месте:
$results = (new Item)->retrieveAllWithArchive($brand);
Надеюсь, это поможет!