1
存在類似的問題,但我沒有發現任何提到無聲連接表問題。使用連接表將SQL轉換爲DQL(Doctrine2)
我有一個簡單的SQL查詢連接,但不能將其轉換爲DQL,因爲這個連接表。有兩個實體,商店和客戶端,通過ManyToMany關聯鏈接。
Doctrine2默默地做了一個連接表:shop_client
。
現在,如果我要得到所有不屬於給定店客戶我simlpy做:
SELECT c.name FROM `client` AS c
JOIN `shop_client` AS sc
ON sc.client_id = c.id
AND sc.shop_id != :shop_id
這是直線前進,真的很容易,但我不能拿出DQL版。我試圖使用「EXISTS」,「NOT IN」,「SIZE」,但永遠不會結束工作的DQL查詢。
編輯:我的商店實體有一個clients
字段,但客戶實體沒有shops
字段。
這幾乎奏效。我將「IN」改爲「NOT IN」,將「!=:shopId」改爲「= shopId」,這很好。謝謝!驗證 – Ninj