只有月份和年份的日历功能

时间:2015-02-02 19:30:59

标签: php laravel calendar

我如何才能让这个功能仅根据年份和月份显示项目,而不是年月和日?

日期格式:YYYY-MM-DD我希望它只做YYYY-MM

代码:

  public function calendar($month = null, $year = null)
  {
  $now = Carbon::now();

  $month = $month ? $month : $now->month;
  $year = $year ? $year : $now->year;

  $date = new Carbon("{$year}-{$month}");

  //get the current month range
  $start = $date->startOfMonth()->toDateString();
  $end   = $date->endOfMonth()->toDateString();

  $items = $this->model->whereNotNull('poster')
  ->where('release_date', '>=', $start)
  ->where('release_date', '<=', $end)
  ->orderBy('release_date', 'asc')
  ->cacheTags('calendar')
  ->remember(-1)
  ->get()
  ->toArray();

  return array('year' => $date->year, 'month' => $date->month, 'items' => $items);
}

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题,现在只是关于演示文稿。 (因为您已经使用startOfMonth()endOfMonth()来确定您的where语句

您只需在模型中添加accessor即可格式化日期:

public function getReleaseDate(){
    return Carbon::parse($this->attributes['release_date'])->format('Y-m');
}