[英]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.