Павел
Надеюсь постановщик задачи сидит тут и ржёт😂
Alexey
Народ, такое странное желание... можно ли как-то выполнить некоторые действия до консольной команды? Проблема в том, что команда из внешней библиотечки в которой я подправить не могу и запускается она стандартными средствами, на которые я тоже повлиять не могу. Но мне нужно выполнить некоторые действия до того как начнёт отрабатывать основная команда. Есть ли какие-то ивенты или т.п. на такой случай?
Юра
Написать враппер который будет что-то делать и запускать команду? )
Юра
Из одной команды можно спокойно выполнить другую команду
Юра
Много команд в симфе так делают
Konstantin
Из одной команды можно спокойно выполнить другую команду
о. я делал недавно, объелся известно чего, но работает
Alexey
Да, уже тоже об этом подумал, спасибо
Kirill
Котаны, вопрос такой: Внутри кернела создаётся контейнер билдер. Хочу в него прокинуть ссылку на сам кернел, вида: $definition = new Definition(self::class); $definition->setWTF??? $builder->setDefinition('app_kernel', $definition); Но не понимаю как передать именно уже существующий объект, чтобы контейнер его не создавал, а брал готовый. В доках (https://symfony.com/doc/current/service_container/definitions.html), есеесно не нашёл такого
Kirill
Единственный вариант, что приходит в голову - это сделать кернел синглтоном и добавить туда getInstance
Kirill
А потом в дефинишене: $definition->setFactory([static::class, 'getInstance']); прописать
Юра
https://symfony.com/doc/current/service_container/synthetic_services.html
Kirill
мб есть вариант сделать как-то этот сервис синтетиком и как-то после билда уже пушить туда объект каждый раз
Kirill
о, во, да
Kirill
точно, просто через set
𝕎𝕒𝕣𝕞
Обьясните пожалуйста, Связь в сущности многие к одному, как мне по этому внешнему ключу найти все записи с ним?
Юра
С кем с ним
Юра
В чем сложность то. where m.parent = и всё
𝕎𝕒𝕣𝕞
а join использовать не нужно??
Юра
Нет
Юра
Можно даже findOneByParent()
Юра
Или findByParent
Юра
Из репозитория
𝕎𝕒𝕣𝕞
Я через пагинатор подтягиваю
𝕎𝕒𝕣𝕞
Разборался, раельно без join ов работает
Юра
Только проверь профайлер и вкладку Database
Юра
Нет ли у тебя там кучи запросов на получение парента
Юра
Если есть, тогда надо его приджоинить и добавить в селект
Юра
Парент я имею в виду если взять типичный one to many, то это родитель и дети
Denis
Приветствую Есть проект(API сервис) у которого есть куча контроллеров(роутов) с jsonResponse, которые подтягивают данные из БД Сущности на проекте с кучей полей и с множеством связей с другими сущностями. Как правильно вытягивать данные из БД? 1. Одним двумя большими кастомными запросами через репозиторий? 2. Или через получение объекта через доктриновский find и подтягивания через геттеры его данных? Во втором случае будет видимо куча запросов в БД, если связанных сущностей много. Но возможно такая практика норма в API сервисах и это утилизируется кешированием или другой оптимизацией?
Dmitriy
1
Юра
Мне вообще в последнее время все больше нравится идея разбивания на чтенте запись, где в записи орм, а при чтении нету никакого орм
Юра
Слишком большой оверхед гидрация сериализация и т.д.
Konstantin
мне скорее наоборот, запись проще делать без орм - апсерты можно, bulk-апдейты
Konstantin
а без гидрации со связями без орм никуда
Denis
Спасибо
Юра
Да че можно вообще йилдами и курсорами напрямую джсон отдавать сразу серверу
Юра
Хоть миллион записей
Юра
А с орм уже на тысяче будет проблема наверное
𝕎𝕒𝕣𝕞
Очень увлекательный вопрос, а можно иметь в базе IDшник который инкрементится не всегда?
𝕎𝕒𝕣𝕞
Как ожидается:
𝕎𝕒𝕣𝕞
Что я имею сейчас:
𝕎𝕒𝕣𝕞
Есть ли способ сказать ему чтоб он инкрементил "когда надо"?
Иван
никто же не мешает передавать id
Konstantin
а когда когда надо?
чисто по настроению
Konstantin
но звучит забавно, человек, похоже, хочет, чтобы одинаковые юзеры имели один айдишник
Konstantin
или я не понимаю что он хочет, и к чему его скрин
𝕎𝕒𝕣𝕞
Не тооо
𝕎𝕒𝕣𝕞
user_id у них разный, я хочу чтобы у каждого user_id шёл свой инкремент 1,2,3... а не общий инкремент
Konstantin
можно подзапросом вставлять
Konstantin
как - что? как подзапросы писать? как их использовать при вставке? как гуглить?
Konstantin
ну а как еще? лочить таблицу и селектить max(id) сначала?
𝕎𝕒𝕣𝕞
По моему была фишка одна
𝕎𝕒𝕣𝕞
когда 2 primary key То один инкрементится при условии
𝕎𝕒𝕣𝕞
Но я забыл как это делал
Nikolay
По моему была фишка одна
Если вам не нравится инкремент, берите uuid
Konstantin
короче, если прям хочется углубиться, вам нужна window function и over (partittion by user_id) и подзапрос с этим
Konstantin
не забудьте составной уник, чтобы не нарушить целостность данных (чтобы не было одинаковых пар (user_id, id)
Konstantin
подробнее чем в гугле нигде не будет, сорян, доку пересказывать не очень охота
𝕎𝕒𝕣𝕞
Понял)
Konstantin
https://www.postgresql.org/docs/current/tutorial-window.html
Павел
Приветствую. Нужна подсказка) Есть два проекта, 5.4.11 симфа. У одного дефолтный сериалайзер читает док блоки для сериализации, у другого нет (этот вариант меня как раз устраивает). Ну это так, для констатации странности ) Более конкретная проблема: взял одну и ту же дтошку, ее денормализацую из реквеста, там есть UploadFile. В дтошке для дальнейшей типизации указан докблок. Денормализация падает в одном из проектов, потому что пытается создать UploadFile через конструктор, а не просто из массива вставить объект. Когда докблок убираю - все норм (но в другом проекте работает и с докблоком). Ощущение что пропускаю какую то настройку или особенность.
Vlad
версия property-info какая?
Павел
версия property-info какая?
Вот я тоже додебажился до нее, но вроде 5.4.11 так же
Vlad
ну вот где не работает,обнови
Павел
Konstantin
Так, одинаковые 5.4.11
ща, вспоминаю, там была смешная херня
Konstantin
ща, вспоминаю, там была смешная херня
https://github.com/symfony/symfony/issues/39356
Konstantin
возможно, это не очень относится, но чисто оценить качество сериалайзера - вполне
Dmitry
возможно, это не очень относится, но чисто оценить качество сериалайзера - вполне
Это больше про качество программистов, не разобравшихся в suggests композера
Konstantin
ну хер знает, мне не нравится поведение, зависящее от 3rd party компонента, который вообще слабо относится к сериалайзеру
Konstantin
и саджесты, по мне, это дополнительный функционал сбоку, а сериализация вложенных инстансов - самая что ни на есть прямая
Konstantin
не вижу ни единой причины, короче, явно включать этот пакет в реквайрментсы
Павел
https://github.com/symfony/symfony/issues/39356
Натыкался уже как то, возможно даже в чате, ща покурю. Спасибо. Но у меня вроде с этим ок.