为了账号安全,请及时绑定邮箱和手机立即绑定

获取除已享受折扣以外的所有产品?

获取除已享受折扣以外的所有产品?

PHP
一只斗牛犬 2022-09-17 15:53:19
我有这两张桌子:产品表: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();


查看完整回答
反对 回复 2022-09-17
  • 1 回答
  • 0 关注
  • 79 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信