如何使用laravel Eloquent ORM中的函数按列获取记录组的计数

时间:2014-12-31 09:25:01

标签: php mysql laravel orm eloquent

我需要使用称为预先加载的groupBy函数来计算记录with()。我有两个表有one-to many的关系。

Properties:

  • ID
  • 名称
  • 地址

Banner_Invoices:

  • ID
  • PROPERTY_ID
  • 起始日期
  • END_DATE

Property模型与Banner_Invoices表具有以下关系函数:

public function bannerInvoices()
    {
        return $this->hasMany('BannerInvoice');
    }

以下是我的查询:

$properties = Property::with(array('country', 'city',
                'bannerInvoices' => function($query) {
            $query->where('end_date','>',date(date("Y-m-d")))
                           ->groupBy('banner_invoices.status')
                           ->select(DB::raw('COUNT(banner_invoices.id)')) ;
         }))->get();

我无法使用groupBy status获取记录banner Invoices的计数。它为我提供了对应于特定banner_invoices的{​​{1}}表的记录。

0 个答案:

没有答案