@Hfnas

Вопросы по теории symfony?

1) Если мне нужно получить сущность,c которой мне надо работать, то мы выбираем CreateBuilder без добавления селекта.
2) Выбирать только нужные поля из селекта, если делаешь createbuilder. Правильно?
А если тебе нужен гуид(значение поля , ссылающее на друю таблицу (многие к одному)). Ты должен делать
$this->CreateBuilder("m")->select("IDENTITY(m.guid)".
.. (но это долго, в таком случае наверное, проще будет убрать select). Правильно?
3) Я долго мучилась, никак не могла понять месяцов 5 , почему заполнение таблицы так долго идет, вижу доктрина жутко тормозит, обновляет в бд очень и очень долго 3 мин, если обновлять и создавать через обьекты. А если напрямую вставить (использовать update (createBuilder update)- то очень быстро ), к сожалению нет инструмента createBuilder-insert , придется добавлять через сущности. Отсюда вывод, что в симфони обновлять нужно через запросы(добавление не доступно), а не сущности, правильно? Или конкретный вопрос,в каком случае нужно использовать сохранение через сущности, а в каком через запросы? В laravel получается то же самое, нужно обновлять тоже через запросы, а не через activeRecord?
4) Как измерять время работы каждой строчки кода в симфони (для команды)? Для веб страницы существует профайлер(хотя не поняла его предназначение). А для команды, как измерить блок кода(5 месяцев не могла понять , почему так долго выполнялся код, сохранение одной сущности занимает очень много времени-20 сек.), не оборачивать его же метками времени?
5) и еще вопрос, если я выбираю в контролере сущность с помощью CreateBuilder, не указывая подсущности.(Например, вывожу список пользователей(`users(id name address_id)`), у которых есть подсущность адресс(Таблица `address (id name )` подсоединена к `user`, как один к многим)). Для вывода в twig адреса, делается дополнительный запрос в бд(select * from address where id=1). Поэтому, правильнее сделать изначально выборку нужных полей
$this->createBuilder('u')->join("u.addressId", 'a')->addSelect("a.name as address")->getQuery()->getResult()
?
  • Вопрос задан
  • 425 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы