Laravel unnioВсе между несколькими запросами

У меня есть 3 запроса в моем контроллере laravel:

$data1=DB::table('tabl1')->where('brandid',$brandid)
->select('id', 'name', DB::raw('sum(amount) AS SUM'))
->get();

$data2=DB::table('tabl2')->where('brandid',$brandid)
->select('id', 'name', DB::raw('sum(tax) AS SUM'))
->get();

$data3=DB::table('tabl3')->where('brandid',$brandid)
->select('id', 'name', DB::raw('sum(tax2) AS SUM'))
->get();

Я хочу выбрать идентификатор, имя и сумму 3 СУММ, используя объединение между 3 таблицами. Я сдаюсь, есть идеи?

1

Решение

Вы можете сделать это так

$data1=DB::table('tabl1')->where('brandid',$brandid)
->select('id', 'name', DB::raw('sum(amount) AS SUM'));

$data2=DB::table('tabl2')->where('brandid',$brandid)
->select('id', 'name', DB::raw('sum(tax) AS SUM'));

$data3=DB::table('tabl3')->where('brandid',$brandid)
->select('id', 'name', DB::raw('sum(tax2) AS SUM'));

$data = $data1->unionAll($data2)->unionAll($data3);
$data = $data->get();

Не проверял, но я думаю, что это должно работать

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector