0
我在使用原则在Symfony2中创建自定义查询。任何人,我遇到的问题是这个脚本不会返回任何结果,除非在所有表中都有记录。如何确保即使所有连接的表都没有记录,我也可以取回记录。Symfony2原则自定义查询问题
这里是我的代码:
$em = $this->getDoctrine()->getManager();
$dql = " SELECT p, poli, polil, pops, pa
FROM WIC\PurchaseOrderBundle\Entity\PurchaseOrder p
JOIN p.purchaseOrderLineItem poli
WITH poli.purchaseOrder=p.id
JOIN poli.purchaseOrderLineItemLocation polil
WITH polil.purchaseOrderLineItem=poli.id
JOIN polil.purchaseOrderProductsStatus pops
WITH pops.purchaseOrderLineItemLocation=polil.id
JOIN pops.putAway pa
WITH pa.purchaseOrderProductsStatus=pops.id
WHERE p.account=:account_id
AND p.id=:id";
$query = $em->createQuery($dql);
$query->setParameters(array(
'account_id' => $account->getId(),
'id' => 10488,
));
$purchaseorders = $query->getArrayResult();
计数数组:
When I do a echo count(purchaseorders) it returns: 0
打印阵列:
When I do a print_r($purchaseorders) it returns: Array ()
我倒觉得我至少应该回去购买即使没有订单项,订单项的位置,状态或收起记录,也可以在数组中排序信息。
这里是我的测试枝杈模板,错误并不在于此,只是觉得我反正它添加...
{% for purchaseorder in purchaseorders %}
<div class="row-fluid">
<div class="span12">
Purchase Order: {{ purchaseorder.id }}
<div class="row-fluid">
<div class="span12">
{% for purchaseorderitems in purchaseorder.purchaseOrderLineItem %}
{{ purchaseorderitems.id }}<br>
{% for purchaseorderitemLocations in purchaseorderitems.purchaseOrderLineItemLocation %}
{{ purchaseorderitemLocations.id }}<br>
{% for purchaseOrderProductsStatus in purchaseorderitemLocations.purchaseOrderProductsStatus %}
{{ purchaseOrderProductsStatus.id }}<br>
{% endfor %}
{% endfor %}
{% endfor %}
</div>
</div>
</div>
</div>
{% endfor %}
因为它是现在,我已经添加了新的采购订单,所以该记录确实存在于PurchaseOrder表中。
感谢您的帮助!
在循环中循环循环 – Prisoner