在网上商店的网站上,在下面的产品卡片页面上,显示了同一类别的 4 件商品。它们是随机选择的。有时,产品会进入到集合中,在显示此选择的卡片中。如何防止它进入收藏?
public function single(Request $request, $id)
{
// получение 4-х случайных товаров из данной категории
$product = Product::find($id);
// категория товара
$category = $product->category_id;
// все товары из данной категории
$sort_by_category = Product::where('category_id', '=', $category)->get();
// 4 случайные позиции
$related_products = $sort_by_category->random(4);
return view ('pages.single', [
'product' => $product,
'related_products' => $related_products
]);
}
伪代码:
描述:将随机产品一个一个地填充到数组中,
$random_products直到其中有 4 个产品。在添加产品之前,会进行检查作为附加条件,
where('id', '<>', $product->id)您可以排除已选择的产品。并且对于随机抽样也可以使用该方法inRandomOrder()