дате?
->whereDate('created_at', '=', Carbon::parse($day)->format('Y-m-d'))
Method Illuminate\Database\Eloquent\Collection::whereDate does not exist.
я так понимаю что задача стоит в том что бы вытащить в записи - а во вьюхе вывести их групированными по дате?
whereDate разве не 2 параметра принимает?
во вьюхе я передаю уже в where разные параметры которые не передать в контроллере и в репозитории, да, во вьюхе мне надо получить записи за опредленный день
whereDate($column, $operator, $value = null, $boolean = 'and')
Что-то не то делаешь. Откуда во view берутся данные которые передаешь в where коллекции?
как бы в случае групировки можно сгрупировать данные, и в качестве relation указать саму себя с привязкой по дате. тогда вся групировка пройдет в бд, а данные по дням привяжутся как relations можно будет даже юзать eager loading
У меня есть цикл. Который групируется по дня. Ключ выступает день, а значение - коллекция записей. Их вывожу в во вьюхе - есть одна таблица, в которой получаю несколько записей от коллекции которую получил выше. Эти данные передаю в where, чтобы получить данные для записей от коллекци №1
$day Carbon тебе не правильно парсит похоже, попробуй $day = '2020-02-12'; // Y-d-m Carbon::createFromFormat('Y-d-m', $day)->format('Y-m-d')
По датам можно группировать на уровне базы. К тому же ничего не мешает всю эту логику проделать в сервисе который вызвать в контроллере и во view уже передать подготовленные данные для вывода.
результат - 2020-12-02
Model::select(DB::raw('created_at::DATE as date'))->groupBy(DB::raw('created_at::DATE'))->with(['daily'])->get(); в модели: public function daily(){ $instance = $this->newRelatedInstance(Model::class); return $this->newHasMany( $instance->newQuery(), $this, DB::raw('created_at::date'), 'date' ); }
в Репозитории могу подготовить данные. Но мне нужно коллекцию фильтровать where(...) - вроде всё ок, но не могу сделать whereDate чтобы получить из коллекцию объект у которого created_at равно опредленному дню, например Dec 2
В коллекциях нет whereDate это метод от Query Builder / Eloquent Builder. Если прям очень нужно фильтровать коллекцию по дате - используй filter https://laravel.com/docs/8.x/collections#method-filter
Обсуждают сегодня