如何获取具有相同属性值的记录数?

时间:2016-04-25 18:36:11

标签: php laravel eloquent

我有模特,让我们说“订单”。 “订单”有一个属性,比方说,“类别”(订单属于一个类别)

如何获得“订单”表中与当前模型具有相同“类别”的记录数量?

BR&安培; TNX ÿ

2 个答案:

答案 0 :(得分:1)

你可以这样做:

$results = Order::select('category', DB::raw('count(*) as total'))
             ->groupBy('category')
             ->get();

这将计算订单中的类别。

答案 1 :(得分:1)

如果您在订单和类别之间存在关联,那么在类别中您将拥有与此类似的方法:

public function orders() {
    return $this->hasMany(Order::class, 'category_id')
}

其中category_id是订单模型中的外键。

现在您可以调用类别模型:

$count = $category->orders()->count();

获取类别订单的数量。