Relation
public function groups()
{
return $this->belongsToMany('App\Models\ItemGroup','item_to_group','item_id','item_group_id');
}
** How to select all Items that have item_group_id 0 and 9 BOTH?**
$zero_and_nine_count = \App\Models\Item::with(['groups' => function ($query) {
$where[] = ['item_group_id', , 0];
$where[] = ['item_group_id', '=', 9];
$query->where($where);
}])->count();
Counts all Items
Working SQL:
SELECT item_id FROM `item_to_group` WHERE `item_group_id` = 9 AND item_id IN (SELECT item_id FROM `item_to_group` WHERE `item_group_id` = 0)