属性 此 collection 实例上不存在 [products]。 (看法:
Property [products] does not exist on this collection instance. (View:
您好,我正在尝试从索引页面获取与该类别相关的产品,但在产品列表页面显示错误,
控制器:
public function products(Request $request, Product $product)
{
$categories = Category::distinct()->get();
return view('product.listing', compact('product', 'categories'));
}
blade 文件:
@foreach($categories->products as $product)
<div class="block2-txt p-t-20">
<a href="product-detail.html" class="block2-name dis-block s-text3 p-b-5">
{{ $product->product_name }
</a>
<span class="block2-price m-text6 p-r-5">
.00
</span>
</div>
@endforeach
这意味着您缺少 Category
模型中的关系。你应该有这样的东西:
class Category ... {
public function products()
{
return $this->hasMany(Product::class);
}
现在要在您的 products
table 中使用它,您应该为每个产品设置一个 category_id
列。
问题是这个returns一个集合$categories = Category::distinct()->get();
所以需要循环两次:
@foreach($categories as $category)
// then here
@foreach ($category->products as $product)
...
您需要这样的类别和产品型号之间的关系:
public function products()
{
return $this->hasMany(Product::class);
}
现在,使用预先加载。
public function products(Request $request, Product $product)
{
$categories = Category::with('products')->distinct()->get();
return view('product.listing', compact('product', 'categories'));
}
在此之后您可以访问产品 $category->products
您好,我正在尝试从索引页面获取与该类别相关的产品,但在产品列表页面显示错误,
控制器:
public function products(Request $request, Product $product)
{
$categories = Category::distinct()->get();
return view('product.listing', compact('product', 'categories'));
}
blade 文件:
@foreach($categories->products as $product)
<div class="block2-txt p-t-20">
<a href="product-detail.html" class="block2-name dis-block s-text3 p-b-5">
{{ $product->product_name }
</a>
<span class="block2-price m-text6 p-r-5">
.00
</span>
</div>
@endforeach
这意味着您缺少 Category
模型中的关系。你应该有这样的东西:
class Category ... {
public function products()
{
return $this->hasMany(Product::class);
}
现在要在您的 products
table 中使用它,您应该为每个产品设置一个 category_id
列。
问题是这个returns一个集合$categories = Category::distinct()->get();
所以需要循环两次:
@foreach($categories as $category)
// then here
@foreach ($category->products as $product)
...
您需要这样的类别和产品型号之间的关系:
public function products()
{
return $this->hasMany(Product::class);
}
现在,使用预先加载。
public function products(Request $request, Product $product)
{
$categories = Category::with('products')->distinct()->get();
return view('product.listing', compact('product', 'categories'));
}
在此之后您可以访问产品 $category->products