KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Im playing around with Symfony2 and Im abit unsure how Symfony2 handles Polymorphic collections in the View component. It seems that i can create an entity with a collection of AbstractChildren, but not sure how to what to do with it inside a Form Type class. For example, I have the following entity relationship. /** * @ORM\Entity */ class Order { /** * @ORM\OneToMany(targetEntity="AbstractOrderItem", mappedBy="order", cascade={"all"}, orphanRemoval=true) * * @var AbstractOrderItem $items; */ $orderItems; ... } /** * Base class for order items to be added to an Order * * @ORM\Entity * @ORM\InheritanceType("JOINED") * @ORM\DiscriminatorColumn(name="discr", type="string") * @ORM\DiscriminatorMap({ * "ProductOrderItem" = "ProductOrderItem", * "SubscriptionOrderItem " = "SubscriptionOrderItem " * }) */ class AbstractOrderItem { $id; ... } /** * @ORM\Entity */ class ProductOrderItem extends AbstractOrderItem { $productName; } /** * @ORM\Entity */ class SubscriptionOrderItem extends AbstractOrderItem { $duration; $startDate; ... } Simple enough, but when im create a form for my order class class OrderType extends AbstractType { public function buildForm(FormBuilder $builder, array $options) { $builder->add('items', 'collection', array('type' => AbstractOrderItemType())); } } I am unsure how to handle this situation where you effectively need a different Form Type for each class of item in the collection?
Tags (comma-separated)
Save Edits
Cancel