За да покажете продукти според категорията и да изключите конкретни продукти от свързаната колекция, можете да направите заявка за категория на продукта и да заредите свързани с нетърпение продукти, като използвате with
но премахнете желания от вас продукт от колекция чрез метод на затваряне
$product = 10;
$category = Category::with(['products'=> function($query) use($product) {
$query->where('id','!=', $prodcut);
}])
->whereHas('products', function (Builder $query) use($product) {
$query->where('id', $product);
})->get();