Юра
Юра
Хехе
Юра
Добавить в селект еще надо
Konstantin
Ну на то и есть инфо по количеству кверей)
да, но долборазраб что это забыл и долботимлид, что это аппрувнул, не особо в курсе что тебе это прод раком поставило. я бы хотел более явного поведения - типа эксепшн, если ты пытаешься обратиться к непроинициализированной коллекции
Konstantin
или bulk-апдейты весело делать, или апсерты
Юра
ОРМ девопсу не друг )
Konstantin
где-то у меня был список претензий к орм, чисто для срачей
Юра
Gleb
Типа select([User::class, Skill::class])?
Юра
Select post, tags
Юра
Join post.tags tags
Юра
Вроде так я уже не помню )
Юра
За меня давно уже копайлот пишет
Юра
)
Юра
Короче да мало приджоинить надо еще выбрать
Юра
Бэз понятия. Я больше верю в ноукод чем в копайлот
Юра
Как по мне безперспективный проект
Юра
А вы видел фичу? Я только сейчас заметил?
Юра
Kirill
Привет! Подскажите, команды, eventSubscriber'ы и тд могут содержать в себе бизнес логику? Или правильнее всю бизнес логику держать в сервисах и вызывать из команд?
Nikolay
Kirill
В таком случае получается достаточно много сервисов, которые в свою очередь обращаются к репозиторию. А репозиториев для одной сущности тоже можно делать много? Если да, то по какой логике их разделять?
Сергей
Kirill
Очень большой репозиторий получается)
Nikolay
Nikolay
Gleb
В квери провайдер
а это что за зверь? гугл ни в паттернах, ни в целом по поиску сходу ничего внятного не даёт.
Gleb
точнее немного ноги обнаруживаются в DAO на Java. Оно?
Nikolay
Юра
Не знаю почему репозиторий должен содержать только простые методы
Юра
Где это написано ?
Kirill
у нас простые запросы, которые можно через queryBuilder сделать, лежат в репозитории, а сложные, в Storage'х. Там SQL через executeQuery и маппинг через ResultSetMappingBuilder
Nikolay
Dmitriy
команды и их хендлеры, в которых логика записи
Dmitriy
запросы и их хендлеры в которых можно EntityManagerInterface прокинуть и достать оттуда репозиторий и сделать нужный запрос либо через dbal
Alex
Привет всем!
А кто юзает сонату админ, можете подсказать: простой кейс - надо добавить в меню вложенную группу
ну, то есть, есть некая сущность, которую я помещаю в меню
с условной аннотацией:
tags:
- { name: sonata.admin, model_class: App\Entity\Post, manager_type: orm, group: 'Content', label: 'Post' }
Как проще сделать еще одну виртуальную группу внутри группы Content ?
Чтобы в меню это выглядело так Content->Somethingelse->Post
Igor
Добрый день, сталкивался кто с проблемой бесконечных джобов в event listener'е доктрины, которые вызывают события event listener'a, которые в свою очередь, запускают заново джобу (от того и бесконечный цикл выходит)? То есть у меня задача такова: надо по update событию event listener'а запушить определенную джо,у, меняющую этот же объект на который навешаны события. Есть ли какие-нибудь решение такой проблемы? На ум лишь приходит сохранение стейта в кэш, а в очереде уже проверять
Юра
Есть решения
Igor
А поточнее?
Юра
Если есть рекурсия нало во-первых подумать про бейс кейс и условие остановки
Юра
Например посмотреть ченджсет
Юра
Может ты можешь не выполнять что-то если в ченджсете нету чего-то
Igor
Юра
Ну у тебя будут два разных ченджсета
Юра
Джобу я так понимаю можно запустить только если что-то там в ченджете конкретно есть
Юра
Или чего-то нет
Igor
не, в любом случае
Igor
Изменилось любое поле, пушим очеередь
Юра
А что меняет джоба?
Igor
Синхронизация с другой системой таким образом реализована, которая немного поля ентити
Юра
Архитектурно что-то не то как по мне
Igor
И мне нужно на каждое события update'а эту джобу пропушивать
Юра
Заведи статик поле
Юра
Костыль но сработает
Юра
Типо джова отправлена
Igor
Юра
Есть другой способ
Igor
Раньше в сервисах это дело было, и оно вызывалось на каждом методе, который апдейтил стейт ентити
Юра
Но он тоже на грани костыля
Юра
Заводишь хелпер а который ты добавляешь колбеки в очередь, сам хелпер выполняет их после флаша
Igor
хым
Юра
Но нарушается атомарность
Igor
Видимо будет тогда разумнее обратно вернуть эту логику в сервисы. Если только чего не придумаю
Igor
Спасибо за ответы
Max
Всем привет.
Кто-нибудь приложение разворачивает в кубернетисе?
Нужно запустить unit тесты перед выкаткой приложения. Но девопс упёрся и говорит что APP_ENV=dev/prod и параметр —no-dev в composer должен быть единым. Ссылается на Twelve-Factor App.
На моей памяти деплой был таким:
1) Предустановка, линтеры и всё таке
2) Запуск тестов (APP_ENV=test или dev)
3) Если успешно, тогда APP_ENV=prod и composer —no-dev
Мож что-то новое придумали, а я как старовер пургу несу?
Konstantin
тестить код надо, а не контейнер
Max
А можно более развёрнуто?))
Konstantin
поэтому нормальным считается запускать тесты в другом контейнере, перед сборкой релизного. тестам много чего может быть нужно, чего не должно быть в продакшне. xdebug какого, лимитов на время выполнения, настроек и прочего. и действительно, dev-пакетам нечего делать в релизной сборке
Andrei
Коллеги, а подскажите плиз сирому про доктрину. Вот есть сущность, в ней коллекция сущностей, а в той коллекции еще коллекция сущностей. везде cascade={'persist'} указано. Если я в первой коллекции добавляю-удаляю что-то, то все в БД сохраняется, а вот если во второй - то изменения игнорятся. ЧяДНТ?
Max
Andrei
чую что доктрина при добавлении во вторую коллекцию, почему-то считает что элемент первой не изменился, как заставить ее это понять?