$results = Result::orderBy("created_at", "asc")
->whereBetween('created_at', array($from, $to))
->get()
->groupBy(function($date) use($interval) {
return Carbon::parse($date->created_at)->format($interval);
});
我想組套的成績成爲天/周/月這取決於用戶選擇的前端。Laravel GROUPBY採用碳 - 意外限流分組數組長度
上述工作在返回組中的結果,但它增加了一個奇怪的限制。
可以說我的$from/$to
跨度爲2年。
如果$interval
爲'd',那麼它只返回31個組(一個月內31天)。所以它應該只將組織的前31天退回來。
如果$interval
爲'W',那麼它只返回52組(一年52周)。所以它應該只會以組的形式返回前52周。
如果$interval
是'm',那麼它只返回12組(一年12個月)。所以它應該只能以組的形式返回前12個月。
我無法找到任何解釋爲什麼它實現了分組結果的數量限制。很多人似乎都使用這種方法按日期進行分組,但我無法找到其他人引用相同的問題。
那麼問題是12個月的小組沒有兩年的結果,或者您期望24個月的小組取得成果嗎? – apokryfos
我期待那裏有24組,但它限制爲12 –