我正在使用play 2.0框架編寫網站。解析結果時我遇到問題。 這個對MySQL數據庫的請求獲取了每集中添加到數據庫的所有鏈接(可以是每集數個節目)以及關於情節和動畫的所有信息。Play 2.0複雜連接查詢如何解析(Anorm)
def lastReleasedLink(limit:Long=5):List[(((Episode,Anime),Link),Genre)] = {
DB.withConnection { implicit c =>
SQL(
"""
select * from yas_episodes as a
inner join anime as b on a.ep_anime_id=b.id
left outer join yas_links as c on a.ep_id=c.ep_id
LEFT JOIN yas_animes_genres AS d ON a.ep_anime_id = d.ag_anime_id
INNER JOIN yas_genres AS e ON e.g_id = d.ag_genre_id
where c.ep_id IS NOT NULL group by c.ep_id order by c.date desc limit {limit}
""").on('limit ->limit)as(Episode.simple~Anime.simple~Link.simple~Genre.simple map{
case episode~anime~link~genre => episode -> anime -> link -> Genre
} *)
}
}
的返回值是 類型,但我怎麼能形成輸出的 列表讓說List[episode,anime,Seq[links]]
或List[episode,anime,Seq[Genres],Seq[links]]
不知道往哪裏放流派。
你可以想象,當你有兩個鏈接每一個表情節信息從表動畫和yas_episodes將被複制每一行。所以我需要以某種方式將它們按照節目記錄疊加在一起(組)。然後可以迭代列表並訪問所有對象。
正如您所看到的,請求中存在動漫與流派之間的多對多關係。 我不知道如何將所有列在一起,以便能夠在視圖中訪問它。體裁應該是動漫模型的一部分嗎?
哦,感謝那絕對會解決這個問題。我仍然需要習慣Scala =) – Yaroslav