[英]Doctrine left join Many to one
我有一個表client和一個表client_evolution ,具有OneToMany關系。 在client_evolution表中,我有3個用於當前客戶端的條目。 使用Left Join獲取數據我總是從client_evolution中獲得ID最小的第一個條目,我需要的是最新行。 我嘗試進行子選擇,但沒有成功。
->addSelect('(
SELECT ce.id
FROM ClientEvolution cev
WHERE cev.client = c.id
GROUP BY cev.client
ORDER BY cev.id DESC) AS cevol')
我需要此表中的多個字段。 請幫忙。
GROUP BY就是為什么每個客戶端僅獲得一個條目以及SELECT缺少客戶端表的原因。 這將按客戶端ID的順序為您提供兩個表之間的所有字段。 要僅獲取每個客戶端ID的最新行,請查看MySQL Group By以顯示最新結果
->addSelect('(
SELECT *
FROM ClientEvolution cev, Client c
WHERE cev.client = c.id
ORDER BY cev.client, cev.id DESC)')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.