我有这种关键情况,我想要所有属于当前数据关系的数据集。
足够混淆,让我们举一个例子:
Product
,Variant
和Size
。Variant
都属于Product
。Variant
都有一个Size
。Product
都有许多Variant
。Size
都是独立的,有很多Variant
。我们的问题
我有Product
,我希望所有不同的Size
生活Variant
。
模型
class Product {
public function variants() {
return $this->hasMany(Variant::class);
}
}
class Variant {
public function size() {
return $this->belongsTo(Size::class);
}
}
当前解决方法
foreach($product->variants as $variant) {
echo $variant->size->name;
}
目前一切看起来都很好并且有效但我想要$product->sizes
之类的东西,因为当前的解决方案解决方法存在(n+1) queries
问题。因此,它必须返回属于当前Variant
的所有Product
的所有不同大小。
我可以使用连接执行此操作,但我想使用Eloquent方法执行此操作,请帮助!!!