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

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

дате?

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

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

14 ответов

15 просмотров

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

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

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

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

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта