首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取多到多个枢轴表中每个实例的总出现次数。

获取多到多个枢轴表中每个实例的总出现次数。
EN

Stack Overflow用户
提问于 2013-12-11 17:56:44
回答 1查看 244关注 0票数 1

让我们说,我们有很多很多关系的两种模式,优惠券和产品。

代码语言:javascript
复制
class Coupon extends \Eloquent {

  protected $table = 'coupons';

    public function products()
    {
        return $this->belongsToMany('Product');
    }
}

代码语言:javascript
复制
class Product extends \Eloquent {

  protected $table = 'products';

    public function coupons()
    {
        return $this->belongsToMany('Coupon');
    }
}

使用枢轴表将这两种模型配对:

代码语言:javascript
复制
table: coupon_product
coupon_id, product_id

在枢轴表中,有可能(在我的情况下是有效的)有多对相同的对,即

代码语言:javascript
复制
coupon_id | product_id
    1            1
    1            1
    1            2
    2            1
    3            3
    3            3

等。

获得产品id = 1的总优惠券的最佳方法是什么,计算枢轴表中出现的所有优惠券?目标是在视图中传递一个$coupons数组,以显示所有注册为product = 1的优惠券的列表。

在上述枢轴表示例中,如下所示:

  1. 优惠券1
  2. 优惠券1
  3. 优惠券2
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-11 21:22:16

如果您使用的是DB查询生成器:

代码语言:javascript
复制
DB::table('coupons')->where('product_id', 1)->get();

如果使用雄辩的ORM:

代码语言:javascript
复制
Product::find(1)->coupons;

在使用雄辩的ORM时,如果希望添加一些加载优惠券的约束,可以使用以下方法:

代码语言:javascript
复制
Product::find(1)->coupons()->where(some_condition)->get();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20526507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档