Entity в bunlde как релизовать relation без зависимостей?

Для реализации отношений между сущностями без зависимостей в Symfony, вы можете воспользоваться аннотациями Doctrine, которые позволяют описывать структуру сущностей и их связи.

Первым шагом является создание сущности, которая будет являться родительской для отношения. Для этого вам нужно создать класс с аннотацией @Entity и указать имя таблицы в базе данных, в которой будет храниться информация о данной сущности.

Пример:

namespace AppBundleEntity;

use DoctrineORMMapping as ORM;

/**
 * @ORMEntity
 * @ORMTable(name="parent")
 */
class ParentEntity
{
    // ...
}

Затем вы должны создать класс дочерней сущности, который будет содержать ссылку на родительскую сущность. В Symfony можно реализовать отношения через аннотацию @ORMManyToOne, где указывается название связи и класс связанной сущности.

Пример:

namespace AppBundleEntity;

use DoctrineORMMapping as ORM;

/**
 * @ORMEntity
 * @ORMTable(name="child")
 */
class ChildEntity
{
    /**
     * @ORMId
     * @ORMGeneratedValue
     * @ORMColumn(type="integer")
     */
    private $id;
    
    /**
     * @ORMManyToOne(targetEntity="AppBundleEntityParentEntity")
     * @ORMJoinColumn(name="parent_id", referencedColumnName="id")
     */
    private $parent;

    // ...
}

В данном примере мы создали класс ChildEntity, который содержит связь с сущностью ParentEntity. Аннотация @ORMManyToOne указывает, что данная сущность может иметь только одного родителя, и создает колонку parent_id в таблице child, которая будет содержать идентификатор родителя.

Наконец, чтобы использовать данные связи в приложении, вам нужно получить экземпляр класса ChildEntity и обратиться к свойству $parent для доступа к родительской сущности.

Пример:

$child = $em->getRepository('AppBundle:ChildEntity')->find($childId);
$parent = $child->getParent();

Где $em - это экземпляр EntityManager, а $childId - идентификатор дочерней сущности, которую вы хотите найти.

Таким образом, вы можете реализовать отношения между сущностями без зависимостей в Symfony с использованием аннотаций Doctrine, что позволяет создавать гибкую и масштабируемую архитектуру вашего приложения.