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