我对关系查询有问题。我的show.blade.php (类别):
@foreach( $attributes as $attribute)
{{ $attribute->title }}
@endforeach
在CategoryController函数中显示:
$attributes = Attribute::where('visible',1)
->orderBy('order', 'asc')
->with('products')
->get();
我需要显示特定类别的产品属性。显示数据库中所有属性的解决方案。我有三个类别,每个类别都有自己的产品属性。并非所有属性都属于所有类别。
我的模型关系是:类别1:n产品N:(枢轴product_attribute):n属性
类别id从视图中传递。我也可以进入一个特定的类别。但是如何在这个类别中显示产品的属性。你有什么想法吗?
发布于 2020-02-19 23:09:56
假设在属性模型和产品模型中正确定义了关系,则可以使用下面的查询获取特定类别的属性
$attributes = Attribute::with(['product.category'])->whereHas('product.category', function($q) use ($categoryId) {
$q->where('id', $categoryId);
})->get();
其中,产品是在属性模型中定义的关系名称,类别是在产品模型中定义的关系名称。id是分类表中的主键字段。
https://stackoverflow.com/questions/60314422
复制