Задать вопрос
Ответы пользователя по тегу Doctrine ORM
  • Doctrine 2 - OneToOne на несколько сущностей?

    riky
    @riky
    Laravel
    то что вы хотите сделать называется наследование.
    это описано здесь docs.doctrine-project.org/projects/doctrine-orm/en...
    хранить можно как в одной общей таблице где часть полей будет null, так и в разных.
    Ответ написан
    2 комментария
  • Как правильно работать с объектами выборки doctrine в Symfony?

    riky
    @riky
    Laravel
    1) ссылки с картинки на продукт не срут память, ибо объект продукта один и все картинки ссылаются на один объект. лишней памяти не тратится.

    2) по поводу сложности. да оно кажется избыточным, но нужно чтобы было удобно потом работать с ними, добавлять новые связи, ленивая загрузка и тд.
    просто сущности вы не получите, но если нужен только вывод то можно вместо getRepository / find сделать например createQuery / fetchArray. но это будет массив без вложенных сущностей, то есть картинок у продукта автоматически не будет.

    3) вместо $em->getRepository('AppBundle:Product')->findById(1);
    лучше $em->getRepository('AppBundle:Product')->find(1);
    или даже $em->find('AppBundle:Product', 1);
    Ответ написан
    3 комментария
  • Немного вопросов по DoctrineORM и Symfony?

    riky
    @riky
    Laravel
    1) доктрина для всех ваших сущностей создает прокси объекты, и в дальнейшем вы будете из базы получать их. в прокси объектах для геттеров и сеттеров она делает методы обертки.
    + с call очень не удобно работать, тк нет автодополнения в среде разработки, только изза этого я бы кэлл не стал использовать.

    2) возможно кеш не сбросили, доктрина бывает кеширует аннотации и при небольшом их изменении не применяет сразу.

    3) смиритесь. оверхэд есть конечно, сам возмущался в начале, но ООП требует жертв.

    4) да, просто добавляете в конструктор, никаких проблем нет, из плюсов то что это поле сразу же доступно, а также мега бонус для написания тестов, когда нужно создавать объекты с указанными датами.
    Ответ написан
    3 комментария