Юра
Если это dql, и выбираются энтити, напиши листенер ч же сказал уже
Павел
Юра
Листенер сделает запрос через репозиторий, достанет размер папки и сетером установит
Юра
Правда он это будет делать всегда
Юра
И вообще вопрос подсчета размера реально нетривиальный
Юра
Это рекурсия
Dmitriy
Одни, не понимая что делают, наколбасили код, свалили, другие не понимая фреймворка пытаются понять что те наколбасили
Юра
Сохранять надо сразу размер директории а не считать ей каждый раз
Юра
Павел
Юра
Мнк интересно как бы другой любой мапер решил эту проблему, если файл удалился там на пятом уровне вложенности и надо обновить все директории получается
Павел
Юра
Или че каждый раз рекурсивно выбирать?
Юра
Иак это и в докирине легко сделать, просто будет куча запросов
Павел
Вообще размер даже ФС номрально не предоставляет для всего и вся, только реалтайм подсчет
Павел
если только приближенно
Павел
короче вообще надо смотреть от задачи
Юра
Напиши просто гетер метож getSize() и пошел по всем файлам и поддиректориям рекурсивно
Юра
А проблему производительности будет решать следующий разработчик уже
Юра
Перепишет на ворпдерс и все
Павел
Короче как обычно, чистый sql решает)))
Павел
был бы он - без всяких пагинаторов еще каких нить фишек из коробки - быстрее бы разобрался
Александр
Почему эта муйня мне только один элемент выводит?
Александр
Александр
Александр
вызвал метод этот в контролере
Павел
Еще вторым параметром в execute можно прокинуть тип параметра
Павел
А не, там нет...
Павел
Вообще у коннекшена есть метод executeQuery вот там , можно указать типа параметра. Но возможно дело не в этом.
Александр
Павел
Ну скорее всего, как раз о чем я говорил, надо прокинуть тип параметра, что это массив
Павел
$connection->executeQuery($sql, [folder_ids => [1,2]],['folder_ids'=> Connection::PARAM_STR_ARRAY])
Павел
Ну или мб там другой какой метод есть, где прокинуть можно. Зависит от версии
Александр
Я не прелдставляю как с этим на постояннке работать
Александр
Хочется завершить программирование после такого
Павел
Павел
Павел
Удивляюсь что вообще работало)
Павел
Прокидывается массив сразу
Александр
Что все правильно, вот именно что все не правильно
Александр
Павел
Почему?
Ну потому что у вас параметр же массив, там под капотом сам склеится. Именно поэтому я писал про тип параметра
Павел
Почему?
Через qb вот так например
$retailerQb->andWhere('r.id in (:retailerIds)')->setParameter('retailerIds', $retailerIds, Connection::PARAM_STR_ARRAY);
$retailerIds - массив
Павел
Тип указывать только для массивов. Для остального - не надо
Юра
А у меня вот в ларе интересует вопрос почему $qb->lazy(); возвращает мне stdClass а не энтити
Юра
Тоже мне удобство и все работает
Юра
Из чата по ларе )
Всем привет. Считается ли нормальной практикой выносить логику в Services ?
artem
Dmitriy
Первый шажок на скользкую дорожку, а потом начнется солид, cqrs, event storming, event sourcing и все, пропал парень
Юра
А потом не дай бог еще на симфу перейдет
Dmitriy
потом на симфу, потом соберет свой фв на компонентах... и.... уйдет в го )
Юра
С симфы прямая дорога в джаву мне кажется
artem
Vlad
Вот кстати есть нормальная реализация es на пыхе?
Vlad
Я вот чота не видел
Юра
Я тебе скажу что симфа круче спринга
Dmitriy
artem
Dmitriy
ну ну
Юра
Да но там нету бандлов, нету конфмгурции как в симфе, и много в всего другого
Dmitriy
𝕎𝕒𝕣𝕞
Юра
Та индусы сейчас огого
Юра
Кругом
Юра
Даже новый премьер Британии индус уже
Юра
Кто-то может сказать, особенно в ларе часто встречается, когда например есть какой-то билдер, и каждый вызов метода на нем создаёт клон билдера и возвращает новый инстанс. Что это дает? Для чего это?
Юра
Зачем имутабл билдер?
Сергей
А код можешь показать? А то звучит довольно бредово
Pavel
Зачем имутабл билдер?
А почему нет? Тебе это как-то мешает?
Где то видел, что такой способ делать кверибилдеры является феншуйским
Pavel
Ну типа чтобы не заафектить потом полученную в середине ссылку
Dmitry
Зачем имутабл билдер?
Затем же, зачем вообще иммутабл подход используют. Чтобы неожиданностей не было, когда один билдер при изменении в одном месте не сломал другое место.
Юра
Юра
где тут какие ссылки что тут можно изменить случайно? )
Юра
т.е. я понимаю что в теории можно сохранить билдер, передать его в десять методов, но это же бред. Давайте теперь из-за этого маловерятного кейса будем клонировать каждый раз в 99% остальных кейсов?