Tja, OP var inte så bra, men jag ska ge det ett försök! Jag antar att votes Tabellen innehåller faktiska röster avgivna av användare på objekten. Detta betyder att om ett objekt inte fick någon röst, då är det objekt-id (masterItemId ) finns inte i votes bord.
Detta innebär att rösttabellen måste lämnas sammanfogad på huvudobjekttabellen på masterItemId fält. Jag kallar huvudobjekttabellen:items , och anta att den har ett itemId fält som matchar masterItemId fältet i votes tabell. I SQL-termer:
select items.itemId, ifnull(sum(votes.votes),0) as votesSum
from items left join votes on items.itemId=votes.masterItemId
where votes.voteDate between ... and ... and <other conditions>
group by items.itemId
Jag är inte bekant med Laravel, men du kommer att behöva något liknande detta, men behandla det inte som kopiera-klistra kod:
$multipleitems = DB::table('items')
->leftJoin('votes','items.itemId','=','votes.masterItemId')
->select('items.itemId',DB::raw('ifnull(sum(votes.votes),0) as voteSum'))
->whereBetween('votes.voteDate',array($startDate,$endDate))
->where($condition)
->groupBy('items.temId')
->get();