Почему я не могу получить неверное значение для yearly_revenue

#php #html #mysql #laravel

#php #HTML #mysql #laravel

Вопрос:

 public function revenue(){
      $today = Carbon::today();
      $date = Carbon::createFromDate(2019, 3, 1);
      $daily_revenue = $this->getRevenue($today->format('Y-m-d 00:00:00'), $today->format('Y-m-d 23:59:59'));
      $monthly_revenue = $this->getRevenue(Carbon::today()->startOfMonth(), Carbon::today()->endOfMonth());
      $yearly_revenue = $this->getRevenue(Carbon::createFromDate()->startOfYear(), Carbon::createFromDate()->EndOfYear());
      dd($yearly_revenue);
      return view('layouts/home', ['']);
    }

    private function getRevenue($date_from, $date_to) {
      $revenue = Sales::whereBetween('created_at', [$date_from, $date_to])
        ->sum('grand_price');

      return $revenue;
    }
  

Я протестировал свой
daily_revenue и monthly_revenue в порядке
но yearly_revenue я не знаю, как это сделать. Пожалуйста, помогите.

Комментарии:

1. Вам нужно уточнить, что вы имеете в виду.

2. извините… я не уверен в своей ясности

Ответ №1:

Вместо createFromDate вы можете использовать now это даст вам текущий год:

 $yearly_revenue = $this->getRevenue(Carbon::now()->startOfYear(), Carbon::now()->endOfYear());
  

Комментарии:

1. @RaymondNijland посмотрите в его коде ту же строку, которую я изменил, и вы поймете, почему я предложил этот способ.

2. не обращайте внимания на мой комментарий, теперь я понимаю, почему вы это предложили.

3. @RaymondNijland извините, что ввел вас в заблуждение … я только начал, так много вещей не знаю … и я не силен в английском = (