我有这两张桌子:产品表:name - price - quantity - etc折扣表:type('percentage','numeric') - value - cancel - expired_at多态关系:可贴现表:discount_id - discountable_id - discountable_type他们之间有。所以我需要得到所有的产品,除了已经有折扣+有折扣的产品,但它结束了Many To Many (Polymorphic)expired_at产品型号:public function discounts(){ return $this->morphToMany('App\Models\Discount', 'discountable');}折扣模式:public function products(){ return $this->morphedByMany('App\Models\Product', 'discountable')->withTimestamps();}我的错误关闭!public function index(){ $products = Product::with('discounts'); return view('cp.discounts.index', compact('products'));}
1 回答
慕侠2389804
TA贡献1719条经验 获得超6个赞
您可以使用“没有”方法,
以下查询将检索没有任何折扣的所有产品。
Product::doesntHave('discounts')->get();
如果您想获得产品,除了它结束了+没有任何折扣,您可以使用在关闭中添加条件:expired_atwhereDoesntHave
Product::whereDoesntHave('discounts', function($query) {
$query->where('expired_at', '>', \Carbon\Carbon::now()->format('Y-m-d H:i:s'));
})->get();
- 1 回答
- 0 关注
- 79 浏览
添加回答
举报
0/150
提交
取消