A
У меня есть сущность, например Shop с связью one-To-Many к другой, пусть это будет Product.
И вот логика добавления
$shop->add($product);
очень замороченная и зависит только от уже добавленных Product'ов.Хотелось бы вынести её в какую-то кастомную коллекцию, чтоб она сама себя контролировала, но насколько я понял - кастомные коллекции в доктрине не особо поддерживаются. Думал, может, вынести эту связь в Embeddable-класс и в нём разруливать, но насколько я понял - связи в Embeddable-классах не работают. Хранить эту логику в самом Shop не хочется - там около 200 строк, хочется как-то её вынести, но не совсем понятно куда и как)
Как такие штуки по-правильному разруливаются?