我已经使用laravel创建了一个web应用程序。该应用程序是博客网站和电子商务商店的组合。在索引页面上,我制作了一个博客控制器和产品控制器,在索引页面上分别显示博客的3个项目和产品的4个项目。现在,我还为博客创建了一个单独的页面,其中将显示网站中的所有博客(3个博客),并为产品创建了一个单独的页面,其中将显示所有产品(5本书)。
我想问一下,是否有一种方法可以使用同一控制器(products controller.)在索引页和产品页上显示不同数量的产品。通过使用循环或其他方式。
这是我用来在索引页上显示产品的代码,在索引页上显示4种产品。如果您有任何可以帮助我的资源,请链接它们。
Product::factory()->count(4)->create();
在创建任何类型的代码时使用DRY方法。
创建一个可重复使用的函数。
public function index(){
$blogs = $this->getBlogs(3); //Parameterized getblogs() which return only 3 blogs
$products = $this->getProducts(4); //Parameterized getProducts() which return only 4 products
return view('index', compact('blogs', 'products'))
}
public function product_view() {
$products = $this->getProducts(9);
return view('product', compact('blogs', 'products'))
}
//this function required one integer value which be will use to fetch that number of products
//If this kind of function will be used by another class file then you should define this function in any service container or as a helper or In the model itself. so this function can be used by other classes as well.
public function getProducts(int $limit) {
return Product::take($limit)->get()
}