Есть пара вещей, которые вы можете попробовать.
Laravel автоматически превращает created_at
в объект Carbon, поэтому, если вы создадите свой запрос следующим образом:
$raw = Visitor
::whereYear('created_at', \Carbon::now()->year) <<-- Note 2019, not -1 for 2018
->select('created_at')
->get();
Здесь вы получите объект с полем даты Carbon, created_at
.Тогда вам не нужно будет использовать parse
в своих проверках if.
Я подозреваю, что, возможно, ответ на ваш вопрос, однако, заключается в том, что, похоже, вы тянете товары с 2018 года, когда вы хотите 2019. Вы вычли год от этого года в исходном запросе.