Size: a a a

2020 November 02

SB

Sergei Baikin in symfony
николай catman
Привет, есть такой вопрос - есть проблема с производительностью доктрины. Условно у сущности много разных связей и у связей есть связи. При этом эти сущности не всегда нужны.
Может ли доктрина загрузить нужные связи сразу же при получении списка сущностей? Условно я получаю 100 пользователей и хочу получить сразу же их посты, комментарии, лайки, файлы и все остальное?
При этом в большинстве случаев загружать эти связи мне не надо.
Может ли доктрина сделать один запрос в главную таблица, один запрос в таблицу со связями и смапаить это все в сущности?
У вас проблема с дизайном системы а не с доктриной. Просто когда вам надо это все показывать то делайте запрос в базу и отдавайте массив получившийся
источник

DT

Dmitriy Tkachenko in symfony
николай catman
Это в аннотации сущности верно? Но оно же будет для всех запросов всегда
тогда через квери билдер и отдельный метод в репо
источник

нc

николай catman... in symfony
Sergei Baikin
У вас проблема с дизайном системы а не с доктриной. Просто когда вам надо это все показывать то делайте запрос в базу и отдавайте массив получившийся
Можно поподробнее?
источник

SB

Sergei Baikin in symfony
николай catman
Можно поподробнее?
Вам зачем столько данных надо в раз с базы тянуть?
Предположу чтобы пользователю показать
Ну вам для этого доктрина и объекты и гидрацию не надо
просто читаете с базы массив и отдаете его куда вам там надо
источник

DT

Dmitriy Tkachenko in symfony
николай catman
Можно поподробнее?
подробнее - тебе не надо восстанавливать объекты в памяти, чтобы их обратно сериализовать и показать на фронте. Запрашивай массивами или DTO
источник

ПГ

Павел Г. in symfony
Приветствую. Подскажите плиз правильный флоу по работе с сообщениями, отдаваемыми api.
Я вижу так, но не уверен что верно: в каждом хэндлере/контроллере есть константы сообщений. Они хранят UUID. Потом где то на выходе, их перехватывает responseEvent и меняет UUID на сообщения с помощью переводчика. Это верно?
источник

нc

николай catman... in symfony
Sergei Baikin
Вам зачем столько данных надо в раз с базы тянуть?
Предположу чтобы пользователю показать
Ну вам для этого доктрина и объекты и гидрацию не надо
просто читаете с базы массив и отдаете его куда вам там надо
Ну тут лишь пример, на самом деле. Есть сущность основная, вокруг которой строится предметная область - некий товар. У которого куча всяких свойств, типа различные цены, категории и тд
источник

SB

Sergei Baikin in symfony
николай catman
Ну тут лишь пример, на самом деле. Есть сущность основная, вокруг которой строится предметная область - некий товар. У которого куча всяких свойств, типа различные цены, категории и тд
так ну и зачем вам все это в раз надо?
Зачем вам все эти связи?
источник

VS

Vlad Sobenko in symfony
николай catman
Ну тут лишь пример, на самом деле. Есть сущность основная, вокруг которой строится предметная область - некий товар. У которого куча всяких свойств, типа различные цены, категории и тд
Какая нах предметная область для вывода юзеру на экран?
источник

нc

николай catman... in symfony
Sergei Baikin
так ну и зачем вам все это в раз надо?
Зачем вам все эти связи?
Чтобы отобразить пользователю
источник

SB

Sergei Baikin in symfony
николай catman
Чтобы отобразить пользователю
так для отобразить не нужна доктрина!
источник

SB

Sergei Baikin in symfony
Читайте с базы и показываете
и оптимизируйте запросы как вам угодно
источник

нc

николай catman... in symfony
Sergei Baikin
так для отобразить не нужна доктрина!
Я понял, использовать чистые (массив) и складывать в модельку
источник

ПГ

Павел Г. in symfony
николай catman
Привет, есть такой вопрос - есть проблема с производительностью доктрины. Условно у сущности много разных связей и у связей есть связи. При этом эти сущности не всегда нужны.
Может ли доктрина загрузить нужные связи сразу же при получении списка сущностей? Условно я получаю 100 пользователей и хочу получить сразу же их посты, комментарии, лайки, файлы и все остальное?
При этом в большинстве случаев загружать эти связи мне не надо.
Может ли доктрина сделать один запрос в главную таблица, один запрос в таблицу со связями и смапаить это все в сущности?
источник

SB

Sergei Baikin in symfony
николай catman
Я понял, использовать чистые (массив) и складывать в модельку
зачем вам моделька?
источник

ПГ

Павел Г. in symfony
Но лучше без ORM) если нужна произвдительность и разделяете на рид модель
источник

нc

николай catman... in symfony
Sergei Baikin
зачем вам моделька?
ну чтобы типизировать данные, туда сюда 🤔
источник

SB

Sergei Baikin in symfony
николай catman
Я понял, использовать чистые (массив) и складывать в модельку
Вам надо массив в json преобращовать и отправить
не нужны никакие модельки
источник

DT

Dmitriy Tkachenko in symfony
николай catman
ну чтобы типизировать данные, туда сюда 🤔
если только на чтение, зачем их типизировать в обе стороны, если очевидно тут только одна направленность - из БД в морду
источник

SB

Sergei Baikin in symfony
николай catman
ну чтобы типизировать данные, туда сюда 🤔
у вас валидатор API (json schema например) может это хэндлить и тесты
источник