根据连接表的结果返回结果集

时间:2015-04-13 11:33:39

标签: laravel laravel-4

我在Laravel 4上构建了一个类似于应用程序的网上商店,在构建查询时遇到了一些困难。我想返回一个有活跃库存量的产品清单。

每个库存项目都列为自己的一组数据,因为我销售的产品(门票)都附有唯一的代码,所以我想知道哪些代码已售出,哪些没有。

我希望能够计算出未售出的门票数量,并且如果还有待售门票,也只能将门票组列为活动门票。

我打算通过我的产品模型进行静态查询,返回每个产品,然后进行查询以返回他们拥有的所有代码,但它看起来很长,我确信laravel有办法返回结果集基于内部查询。我不知道怎么会这样做..

希望这是有道理的,我基本上想要一种快速有效的方法,通过查询活动产品然后查询他们的活动票据来检查产品库存水平。


一些代码段

// Check if the code is active
    public function scopeActive($query) {
        return $query->where('active', '=', 1);
    }
// Relationship to product
public function product() {
    return $this->belongsTo('Product', 'product_id', 'id');
}

我希望能够使用活动代码获取所有产品,所以我猜 $ product-> codes->产品,因为我们正在检查每个产品是否有活动代码,然后通过它们使用产品对象?

1 个答案:

答案 0 :(得分:0)

我的描述可能不是很清楚,但我发现我可以通过对product_id分组结果集来做我想做的事情

最后我做了

return  ProductCode::where('active', '=', 1)
            ->groupBy('product_id')
            ->get();

希望这可能会帮助那些正在寻找的人 - 这不是最有效的方式,但它有效..