簡體   English   中英

Symfony2中的DQL \\ SQL查詢。 很多桌子

[英]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();

當客戶下訂單時,他可以通過三種方式進行處理:

  1. 不要在某些機構去的表“ orders_institution”中添加記錄,並在某些類型的美食id表中添加條目
  2. 不在任何表中添加條目
  3. 在“ orders_kitchen”表中添加一個條目,某些類型的美食ID可以在該機構使用

我需要查找所有未選擇任何一家機構的訂單,沒有一種美食類型,或者至少一家機構可以使用的廚房(可以是數組)。

而且我不想選擇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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM