除了我的previous问题。我现在想限制表单的输入字段。因此,只有供应商的输入字段,例如id:2。而不是与订单相关的整个供应商集合。问题是,我在嵌入式集合中有一个嵌入式集合。我给我的第一个formtype订单。
$order = $this->getDoctrine()
->getRepository('AcmeAppBundle:PurchaseOrder')
$form = $this->createForm(new ProducedAmountOrderType(), $order);
我的问题是,我无法在集合的表单类型中使用查询构建器。那么,我如何只显示一个供应商的输入字段而不显示与实体相关的所有人?
答案 0 :(得分:0)
我用这个$ order查询解决了它:
$order = $this->getDoctrine()->getManager()->createQuery("
SELECT o, a , s
FROM AcmeAppBundle:PurchaseOrder o
JOIN o.purchaseOrders a
JOIN a.articleOrderReferences s
WHERE o.id = :orderId
AND s.supplier = :supplierId
AND s.amount > 0
")
->setParameter('orderId', $orderId)
->setParameter('supplierId', $supplierId)
->getOneOrNullResult();