我试图按月滚动返回我的用户周年纪念日数,我将在flot图表中显示。
我想我几乎已经弄明白了,但我正在努力让我的专栏格式与比较月相匹配。
//return an array of the last 12 months.
for ($i = 1; $i <= 12; $i++) {
$months[] = date("Y-m", strtotime( date( 'Y-m-01' )." -$i months"));
}
//$months dumps as: array(12) { [0]=> string(7) "2015-03" ...}
// find members where the anniversary column matches the $months[$i]
foreach ($months as $key => $value) {
$renewals[] = User::where('anniversary', '=', $value)->count();
}
周年纪念栏的格式为2014-4-30。如何抓住该列的'Y-m'与$ month进行比较?
答案 0 :(得分:1)
你可以这样做:
$renewals[] = User::where('anniversary', 'LIKE', $value.'%')->count();
这将接受任何一天,只匹配月份和年份。当然,如果不使用LIKE,可能有更好的方法来实现这一目标。
或者你可以得到一个包含第一天和最后一天的月份的数组,并使用Laravels whereBetween方法。
$renewals[] = User::whereBetween('anniversary', array($firstDay, $lastDay))->count();