[英]DQL\SQL query in Symfony2. Many tables
我有一个关于DQL查询的问题。
我有这些表:“ orders”,“ orders_kitchen”,“ orders_institution”和“ variants”。
从“变体”表中,我获得了已经提供的订单ID。
$orders = $em->createQuery("SELECT o
FROM AppBundle:Orders o
JOIN AppBundle:OrdersInstitution oi
WHERE oi.idInstittuion = :institution AND o.idorder = oi.idOrder AND o.finalDeal IS NULL
ORDER BY o.idorder DESC")
->setParameter("institution",$institution)->getResult();
当客户下订单时,他可以通过三种方式进行处理:
我需要查找所有未选择任何一家机构的订单,没有一种美食类型,或者至少一家机构可以使用的厨房(可以是数组)。
而且我不想选择ID在表“ variants”中的订单。
您可以使用SQL之类的方法尝试该方法(DQL在许多连接中表现不佳):
$sql = 'SELECT * FROM Orders o JOIN
(SELECT o1.id FROM Orders o1 WHERE o1.cuisine IS NULL OR o1.institution IS NULL) o1 JOIN
(SELECT * FROM Orders o2 INNER JOIN Cuisine c ON c.insitution_id = '.$institution_id.') o2 JOIN (your query);';
这样的事情应该做到,而不是SQL方面的专家,我通常最终会尝试直到获得它!
我不认为这是正确的想法,但至少是一个开始:p
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.