选择领域,对雄辩的laravel进行count()分组

时间:2018-09-23 22:25:50

标签: laravel eloquent

查询如何:

SELECT agenda_id, data, count(*) FROM marcacoes group by data, agenda_id

我尝试$agendas = Marcacao::select(['data', 'agenda_id'])->groupBy('data', 'agenda_id')->count();,但是结果只是字段count。字段dataagenda_id未显示。

3 个答案:

答案 0 :(得分:2)

您必须使用原始语句:

Marcacao::select('data', 'agenda_id', DB::raw('count(*)'))
    ->groupBy('data', 'agenda_id')
    ->get();

答案 1 :(得分:1)

您的请求只给您after_inactive_sign_up_path_for(resource)的号码,因为您使用的是agendas方法。

如果您需要count数据,则应这样:

agandas

然后,当您想获取$agendas = Marcacao::select(['data', 'agenda_id'])->groupBy('data', 'agenda_id')->get();的号码时,应该只计算$agenda集合,如下所示:

$agandas

答案 2 :(得分:1)

由于调用int方法将只返回一个值,而MacMarcacao::select(['data', 'agenda_id'])->groupBy('data', 'agenda_id')恰好是与您的Collection相对应的元素数,您将无法获得所有其他字段,因为count方法返回的值不是您期望的$agendas = MacMarcacao::select(['data', 'agenda_id'])->groupBy('data', 'agenda_id')->get()

您必须首先检索您的记录,然后才能计算方法cound

$agendas

之后,您可以计算Illuminate\Support\Collection$numberOfAgendas = $agendas->count(); 类型的对象

中的记录数
{{1}}