为了达到这个目的,我一直在寻找很多东西,但还没有找到解决方案。
我必须得到会议细节和重要性。我正在使用以下代码,但坚持在如何在日期分组集合后获取计数。
以下是代码:
$sessions = Session::where('api_token','1')
->orderBy('created_at', 'DESC')
->get(array(DB::raw('date(created_at) as v_date')));
//To get the total session counts -
$total_sessions = $sessions->count();
//To get the sessions that happened today -
$today_sessions = $sessions->filter(function($today)
{ if ($today->v_date == date("Y-m-d")) { return true; }})->count();
现在我使用groupBy()
对集合进行分组$sessions->groupBy('v_date'));
但是如何从此集合中检索会话计数和日期。
预期产出:
2014-02-01 10
2014-02-02 11
2014-02-04 15
2014-02-06 70
2014-02-07 90
2014-02-08 100
答案 0 :(得分:0)
如果您只是想获得每天的会话数,那么就不需要使用Eloquent,您只需使用查询构建器。
$sessions = DB::table('sessions')
->select(DB::raw('date(created_at) AS v_date, count(*) AS count'))
->where('api_token', '1')
->orderBy('v_date', 'desc')
->groupBy('v_date')
->get();
这将返回表示每行的对象数组:
array (size=1)
0 =>
object(stdClass)[346]
public 'v_date' => string '2014-03-09' (length=10)
public 'count' => int 2
1 =>
object(stdClass)[349]
public 'v_date' => string '2014-03-08' (length=10)
public 'count' => int 6