【问题标题】:How to get many-to-many relationship data using pivot table如何使用数据透视表获取多对多关系数据
【发布时间】:2019-02-02 13:18:25
【问题描述】:

我有以下型号:

1. Campaign
2. Coupon
3. CampaignCoupon

CampaignCouponCampaignCoupon 的多对多关系的数据透视表模型。

我在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 现在我想使用CampaignCoupon 模型获取CouponCampaign 数据。

这是我使用过的查询:

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

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

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

谁能帮忙?

【问题讨论】:

    标签: eloquent laravel-5.5 eloquent-relationship


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-03
      • 1970-01-01
      • 1970-01-01
      • 2018-09-15
      • 2015-02-10
      • 1970-01-01
      • 2023-02-05
      相关资源
      最近更新 更多