我在Symfony 1.4中使用Doctrine 1.2來編寫查詢。我理解了DQL的原則,並且我有幾個查詢可以正常工作。但是對於一些需求,我沒有在DQL中找到解決方案,而是使用SQL來代替。學說1.2:在DQL中將用戶配置文件加入城市和城市國家/地區
下面是一個簡單的例子:假設你在你的schema.yml有sfguarduserprofile類關係到一個城市類(使用配置文件中的city_id)。 而且你在城市級別和國家級別之間有聯繫(在城市級別使用country_id)。
我只是想寫一個DQL查詢來獲取與城市的名稱和國家的名稱,用戶配置文件。看起來很簡單?
是的,但我沒有發現DQL一個「乾淨」的解決方案,因爲我沒有sfguarduserprofile和國家類之間有直接的別名或關係。
我可以創造我sfguarduserprofile和我的祖國類之間的直接關係,但我不會再尊重模型化的最佳實踐(MERISE)。
我可以使用我的城市類中的選擇並獲取用戶配置文件和國家(城市與這兩個表具有關係),但是我無法使用此解決方案,因爲我的sfguarduser配置文件中有其他聯接。
在SQL中,這是很容易的,但我想用教義對象。
如果你有一個「乾淨」的解決方案,我會很高興知道它!
謝謝
Sandrino