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()
?