Кажется довольно простым.
DB::table('items_details as a')
->join('items b', 'b.id', '=', 'a.item_number')
->select([
'a.transaction_number',
'a.date',
'a.item_number',
'b.desc',
'a.variant_code',
DB::raw('sum(a.quantity) AS quantity'),
'a.cost'
])
->where('a.item_number', '=', 10101010)
->groupBy('a.variant_code')
->orderBy('transaction_number')
->orderBy('variant_code');
Примечание: не проверено