【发布时间】:2020-01-03 11:11:13
【问题描述】:
我有两张表,products 和 product_images,现在我想展示至少有一张图片的产品。
在控制器中,我在 ProductController 中有一个简单的函数来获取所有产品:
public function products(){
$allProducts = $this->product->paginate(15);
return view('frontend.pages.products',compact('allProducts'));
}
但是,我想发送每个产品至少有一张图片的产品。
我应该怎么做才能做到这一点?
编辑:
我已经创建了表之间的关系,现在我怎样才能得到我想要的答案?
我已经在Controller中写了这个:
$allProducts = $this->product->whereHas('product_images', function ($query){
$query->where();
})->get();
【问题讨论】:
-
如果您使用关系,那么使用
whereHas和count()即可。 -
我没有使用关系。只有关系才有可能吗?
-
你能显示两个表的架构吗?
标签: laravel controller