170 похожих чатов

$Model = Model::get(); А как мне в коллекции фильтровать данные по

дате?

->whereDate('created_at', '=', Carbon::parse($day)->format('Y-m-d'))

Method Illuminate\Database\Eloquent\Collection::whereDate does not exist.

14 ответов

9 просмотров

я так понимаю что задача стоит в том что бы вытащить в записи - а во вьюхе вывести их групированными по дате?

whereDate разве не 2 параметра принимает?

Shotty- Автор вопроса

во вьюхе я передаю уже в where разные параметры которые не передать в контроллере и в репозитории, да, во вьюхе мне надо получить записи за опредленный день

Shotty- Автор вопроса

whereDate($column, $operator, $value = null, $boolean = 'and')

Что-то не то делаешь. Откуда во view берутся данные которые передаешь в where коллекции?

как бы в случае групировки можно сгрупировать данные, и в качестве relation указать саму себя с привязкой по дате. тогда вся групировка пройдет в бд, а данные по дням привяжутся как relations можно будет даже юзать eager loading

Shotty- Автор вопроса

У меня есть цикл. Который групируется по дня. Ключ выступает день, а значение - коллекция записей. Их вывожу в во вьюхе - есть одна таблица, в которой получаю несколько записей от коллекции которую получил выше. Эти данные передаю в where, чтобы получить данные для записей от коллекци №1

Из доки=) Но да, с оператором тоже можно=)

$day Carbon тебе не правильно парсит похоже, попробуй $day = '2020-02-12'; // Y-d-m Carbon::createFromFormat('Y-d-m', $day)->format('Y-m-d')

По датам можно группировать на уровне базы. К тому же ничего не мешает всю эту логику проделать в сервисе который вызвать в контроллере и во view уже передать подготовленные данные для вывода.

Shotty- Автор вопроса

результат - 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' ); }

Shotty- Автор вопроса

в Репозитории могу подготовить данные. Но мне нужно коллекцию фильтровать where(...) - вроде всё ок, но не могу сделать whereDate чтобы получить из коллекцию объект у которого created_at равно опредленному дню, например Dec 2

В коллекциях нет whereDate это метод от Query Builder / Eloquent Builder. Если прям очень нужно фильтровать коллекцию по дате - используй filter https://laravel.com/docs/8.x/collections#method-filter

Похожие вопросы

Обсуждают сегодня

Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
10
А дальше что?.. Записать в файл, потом в Код?.. И потом разбирать как-то?..
Хаскель Моисеевич Гопник
14
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
52
А чем вам питонисты не угодили?😂
.
79
доброго времени. db, dw и прочие исполняются при трансляции или при выполнении программы?
lutayyy
10
type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
86
Есть предложения, как подобное можно упростить?
Hemul GM
12
@y0zhig @shizzard А можно я опишу цель и может вообще ерланг мне не подходит. На текущий момент как я понимаю у ерланга есть легковесные потоки и задача выполняется в каком т...
Дмитрий Спиридонов
5
У меня вопросик назрел. Почему, создав класс без наследования и реализации деструктора Destroy, деструктор не вызывался при free. Потом указал наследование от tobject и overri...
Сергей Бычков
9
Карта сайта