Size: a a a

Laravel для начинающих

2020 November 11

ДК

Дмитрий Кожанов... in Laravel для начинающих
Код то твой
источник

MR

Maxim Rebitskiy in Laravel для начинающих
$id = ...
источник

VY

Vladimir Yefremov in Laravel для начинающих
да ладно :)
источник

VY

Vladimir Yefremov in Laravel для начинающих
не, мне нужен ИД каждого региона, этот запрос создает коллекцию;

вот как получить ИД модели в коллекции, создаваемой в процессе запроса?

подобно методам each(), map()...., но только в их случае коллекция уже есть....

кажется я где-то видел как это сделать, но не могу вспомнить
источник

MP

Maksim (Ellrion) Pla... in Laravel для начинающих
Vladimir Yefremov
я пробовал
Шторм недоволен :)
а Лара отдает ошибку
Undefined variable: id {"userId":1,"exception":"[object] (ErrorException(code: 0): Undefined variable: id at /app/app/Services/TkoStatisticService.php:23)
Что вообще делает концевой гет внутри виз ?!
источник

MR

Maxim Rebitskiy in Laravel для начинающих
Vladimir Yefremov
не, мне нужен ИД каждого региона, этот запрос создает коллекцию;

вот как получить ИД модели в коллекции, создаваемой в процессе запроса?

подобно методам each(), map()...., но только в их случае коллекция уже есть....

кажется я где-то видел как это сделать, но не могу вспомнить
В твоем коде - никак)
источник

MR

Maxim Rebitskiy in Laravel для начинающих
Ты еще не получит айди там никак
источник

MR

Maxim Rebitskiy in Laravel для начинающих
Тебе нужен whereRaw, и подставлять айди с запроса основного
источник

MP

Maksim (Ellrion) Pla... in Laravel для начинающих
На лицо полное непонимание работы билдера относительно работы с жадной загрузкой
источник

AP

Alexander Pavlenko 🌚... in Laravel для начинающих
🤷‍♂️
источник

VY

Vladimir Yefremov in Laravel для начинающих
Maksim (Ellrion) Platonov
Что вообще делает концевой гет внутри виз ?!
это интересно, но без него массив связи пустой....
это написали до меня :)

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

VY

Vladimir Yefremov in Laravel для начинающих
Maksim (Ellrion) Platonov
На лицо полное непонимание работы билдера относительно работы с жадной загрузкой
не спорю, но это обстоятельство не должно помешать получению данных и выполнению задачи, заодно и с билдером глубже разберусь
источник

VY

Vladimir Yefremov in Laravel для начинающих
Maxim Rebitskiy
Тебе нужен whereRaw, и подставлять айди с запроса основного
ок

Спасибо!
счас изучу этот вопрос
источник

SS

Serg Serdyuk in Laravel для начинающих
Maxim Rebitskiy
Тебе нужен whereRaw, и подставлять айди с запроса основного
Или разбивать на 2 запроса, если я задачу понял правильно
источник

SS

Serg Serdyuk in Laravel для начинающих
Выбрать нужные ид одним запросом и потом уже их в with прокинуть
источник

VY

Vladimir Yefremov in Laravel для начинающих
Serg Serdyuk
Или разбивать на 2 запроса, если я задачу понял правильно
@alexbowey  :)

в общем у меня тут было вообще не правильно, теперь работает так:
        $regions = Region::with(['report_tkos' => function ($query) {
           $query->where('status_id', '!=', ReportTkoStatus::REJECTED)
               ->where('status_id', '!=', ReportTkoStatus::DELETED)
               ->where('status_id', '!=', ReportTkoStatus::DRAFT)
               ->orderBy('updated_at', 'Desc')->get()[0];
       }, 'population', 'report_tkos.zones'])->get();

эти where для query я хотел брать из отдельного метода, но это не нужно; они в подзапросе - на месте
источник

SS

Serg Serdyuk in Laravel для начинающих
Подзапросы кстати тоже не всегда хорошо, иногда лучше 2 мелких запроса
источник

VY

Vladimir Yefremov in Laravel для начинающих
наверно только вот это пока лажа
->get()[0];
выглядит странно и не выбирает 1-й элемент
источник

VY

Vladimir Yefremov in Laravel для начинающих
Serg Serdyuk
Подзапросы кстати тоже не всегда хорошо, иногда лучше 2 мелких запроса
как-то у меня 2 отдельных не вырисовывается, надо по каждому региону - 85 записей - выбрать связи.
источник

AB

Alex B in Laravel для начинающих
Vladimir Yefremov
наверно только вот это пока лажа
->get()[0];
выглядит странно и не выбирает 1-й элемент
эм а если запрос не вернет ничего? ругаться же будет
источник