我正在使用play 2.0框架编写网站。解析结果时遇到问题。 这个对mysql db的请求获得了每集添加到数据库的所有链接(可以是每集几个)以及有关剧集和动画的所有信息。
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),Link),Genre)]
的类型
但是如何将输出形成到列表中
让我们说List[episode,anime,Seq[links]]
或List[episode,anime,Seq[Genres],Seq[links]]
不知道在哪里放置类型。
你可以想象,如果每个剧集中有两个链接来自表格动画的信息,那么yas_episodes将被复制到每一行。所以我需要通过剧集记录以某种方式将它们叠加在一起(组)。然后就可以迭代列表并访问所有对象。
正如您所看到的,在请求中,动画与流派有多对多的关系。 我不知道如何将所有内容放在一个列表中以便能够在视图中访问它。流派应该成为动漫模型的一部分吗?