私はplay2.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]]
1つのエピソードごとに2つのリンクがある場合、テーブルアニメとyas_episodesからの情報がすべての行にコピーされることを想像できます。だから私はどういうわけかエピソードレコードごとにそれらを一緒に(グループ化して)積み重ねる必要があります。その後、リストを繰り返し、すべてのオブジェクトにアクセスできるようになります。
ご覧のとおり、リクエストにはアニメとジャンルの多対多の関係があります。ビューでアクセスできるように、すべてを1つのリストにまとめる方法がわかりません。ジャンルはアニメモデルの一部である必要がありますか?