我有三个模型,其中包含以下数据:
产品
变体
图像
所以关系是:
我需要获取所有Variants的集合,包括父Product,因为我还需要它的名称并包含与Variant相关的图像,条件(在Variant上) - > where(' type& #39;,' OPT')和 - > where(' private',false)。
我尝试使用原始SQL查询,但我需要在刀片模板中循环使用Variant的图像,因此我需要一个集合。如何在不运行太多查询的情况下将所有内容放在一起?
答案 0 :(得分:2)
确保您的Variant
型号上有这些关系:
public function product()
{
return $this->belongsTo(Product::class);
}
public function images()
{
return $this->hasMany(Image::class);
}
然后你可以这样做:
$collection = Variant::with('product', 'images')
->where('type', 'OPT')
->where('private', false)
->get();