stripos() ожидает, что параметр 1 будет строкой, объект задан laravel

#php #laravel

#php #laravel

Вопрос:

код

 $data = Event::with(['favourite' => function ($q){
                        $q->select('*');
                        $q->groupBy(function ($date) {
                            return Carbon::parse($date->created_at)->format('M'); **// this line have error**
                        });
                    }])
                    ->select('id', 'title')
                    ->get()
                    ->where('id', $eventid)
                    ->toArray();
  

// если не сгруппировать по данным, то вывод станет

  [0] => Array
            (
                [id] => 3
                [title] => Everything You Need to Know About Business From Start-up to IPO, Straight From the VC's Mouth
                [favourite] => Array
                    (
                        [0] => Array
                            (
                                [created_at] => 2020-09-10T17:54:06.000000Z
                            )
    
                        [1] => Array
                            (
                                [created_at] => 2020-09-10T18:21:00.000000Z
                            )
    
                        [2] => Array
                            (
                                [created_at] => 2020-09-28T15:05:38.000000Z
                            )
    
                        [3] => Array
                            (
                                [created_at] => 2020-08-28T15:05:38.000000Z
                            )
    
                    )
    
            )
  

Конечные данные должны быть

 [0] => Array
        (
            [id] => 3
            [title] => Everything You Need to Know About Business From Start-up to IPO, Straight From the VC's Mouth
            [favourite] => Array
                (
                    [Aug] => Array
                        (
                            [total] => 1
                        )

                    [Sep] => Array
                        (
                            [total] => 3
    
                        )
                )

        )
  

Кто-нибудь сталкивался с этой ошибкой раньше? Когда я пытаюсь разделить данные как группу. Если будет возвращена ошибка, stripos() ожидает, что параметр 1 будет строкой, объект задан. Приведенный выше код вернет все данные из базы данных.

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

1. Анонимная функция передает объект построителя запросов, а не указанный вами столбец. Так $date что это не то, что вы думаете.

2. @lagbox потому что я хочу сгруппировать по месяцам и рассчитать общие данные за месяц.