Полагаю, ваш c.created_at
- это столбец из объединенной таблицы в вашем запросе ... где между ними ожидается, что второй параметр будет массивом объектов, но c.created_at
не может быть просто так включен в этот список ..
Вам нужно будет выполнить полный запрос, чтобы выбрать только этот столбец .. или просто использовать необработанный запрос, подобный этому:
->whereRaw('p.created_at between c.created_at and ?', [ now()->endOfDay() ])