A, есть атрибут b_id
Эти сущности я вытягиваю Query Builder'ом, и хочу проверить есть ли среди них определенный b_id. Но если проходиться foreach'ом и дергать свойство $b, то будет делаться дополнительный подзапрос, чтобы вытянуть всю сущность B, а мне этого не надо, я лишь хочу проверить что id'шник такой есть или нет. Ведь он прописан в таблице А.
Джойнить тоже не надо.
Как это сделать?
сделать внешний ключ foreign key (если нету null) и тогда в атрибут b_id будет либо нулл, либо id с таблицы b
консистентность будет на уровне бд
попробую переспросить Есть Posts, которые ManyToOne к Author. Есть атрибут $author. Допустим мы сделаем геттер getAuthor() теперь вытягиваем коллекцию постов. И допустим я хочу узнать есть ли в этой коллекции пост с автором у которого id = 5 Делаем так: foreach($posts as $post) { return $post->getAuthor()->getId() === 5 } но тогда авторы будут подгружаться доп. запросами? Или доктрина понимает, что мы хотим сравнить только айдишник, остальные данные автора мы не запрошиваем, а значит доп. запросы делать не будет?
Вопрос, коллекция постов - тоже сущность?
коллекция это просто стандартная доктриновская ArrayCollection
https://stackoverflow.com/questions/26891658/what-is-the-difference-between-fetch-eager-and-fetch-lazy-in-doctrine
Неё, там скаляр id хотят
Обсуждают сегодня