1
我有2個實體,圖片和標籤,具有ManyToMany關係。這意味着3個表格:圖片,標籤和pictures_tags。在一個查詢中以ManyToMany關係獲取記錄
我想選擇一些圖片並在同一個查詢中加入它們的標籤。如何在DQL中完成?
我有2個實體,圖片和標籤,具有ManyToMany關係。這意味着3個表格:圖片,標籤和pictures_tags。在一個查詢中以ManyToMany關係獲取記錄
我想選擇一些圖片並在同一個查詢中加入它們的標籤。如何在DQL中完成?
查詢是相當簡單,它是所有關於fetch-joins:
$picture = $em->createQuery(
"SELECT p, t FROM Entity\Picture p JOIN p.tags t WHERE p.id = :pictureId"
)->getResult();
$query = $em->createQuery("Select * from pictures p
join pictures_tags pt on p.pictureid=pt.pictureid
join tag on tag.id=pt.tagid");
$users = $query->getResult();
我已經更新的問題,怎麼能在DQL做呢? – tamir 2013-02-08 17:08:51
我已更新答案 – mrakodol 2013-02-08 17:48:07
我收到錯誤'Class'pictures_tags'未定義'。這是數據庫中存在的JoinTable,但不是實際的類。 – tamir 2013-02-09 10:15:17