如何获得许多一对多使用数据透视表的关系数据

问题描述 投票:0回答:1

我有以下型号:

1. Campaign
2. Coupon
3. CampaignCoupon

CampaignCoupon是许多人CampaignCoupon的一对多关系透视表的模型。

我有以下CampaignCoupon模型的关系:

public function coupons() {
    return $this->belongsToMany('App\Coupon', 'campaign_coupon','campaign_id','coupon_id');         
}

public function campaigns() {
    return $this->belongsToMany('App\Campaign', 'campaign_coupon','campaign_id','coupon_id');
}

在请求我得到coupon_idcampaign_id现在我想用Coupon模型得到CampaignCampaignCoupon数据。

以下是我使用的查询:

$CampaignCoupon = CampaignCoupon::where('campaign_id', $input['campaign_id'])
    ->where('coupon_id', $input['coupon_id'])
    ->with(['coupons', 'campaigns']) 
    ->first();

但它返回的优惠券和活动的空数组。

{"id":95,"campaign_id":21,"coupon_id":25,"max_usage":21,"coupons":[],"campaigns":[]}  

任何一个可以帮助?

eloquent laravel-5.5 eloquent--relationship
1个回答
0
投票

使用这种关系,而不是你的

public function coupons() {
     return $this->belongsTo('App\Coupon','coupon_id');   
           } 
public function campaigns() {
     return $this->belongsTo('App\Campaign','campaign_id');   
           }
© www.soinside.com 2019 - 2024. All rights reserved.