我有一个简单的关系
Playlist (id, title)
which has_many
Playlistships(playlist_id, post_id)
Playlistship
是Playlist
和Post
类之间的关联。当用户添加'帖子'到播放列表'一个新的播放列表'被建造。当一个'发布'已从“播放列表”中移除相应的播放列表'播放列表。被毁了。
我想创建一个返回'播放列表'按playlistships.created_at
基本上,我希望有一个显示playlists
的视图,该视图最近通过posts
类添加了Playlistship
。
答案 0 :(得分:1)
尝试类似:
select * from Playlists P
join Playlistships S on P.id = S.playlist_id
order by S.created_at
要获取每个播放列表的最新播放列表(有任何帖子):
select * from Playlists P
join Playlistships S on P.id = S.playlist_id
where S.created_at = (select max(created_at) from Playlistships where playlist_id = P.id)
order by P.id