sql - 如何获取与另一组属性关联的一组属性?
问题描述
这应该很简单,但我在寻找答案时遇到了奇怪的麻烦。我只想要一组通过外键关联到另一组记录的记录。例如,如果我通过 Song.artist_id 拥有 Song belongs_to Artist,并且通过 Song.artist_id 拥有一组 Artists Artist.where(mustache: true)
,我想要一个返回属于所有这些 Artists 的所有歌曲的查询。所以像:
@songs = Artist.where(mustache: true).songs
但这确实有效。
解决方案
Song.where(artist_id: Artist.where(mustache: true).select(:id))
或者
song.joins(:artist).where(artists: {mustache: true})
推荐阅读
- java - Android Studio/LibGDX:是否可以通过一次触摸按下两个按钮?
- java - 如何检查字符串是否只有数字
- php - php:向数组中的现有键添加值
- haskell - Haskell表达式用于改变其周围环境的函数?
- excel - 仅使用 VBA 填充包含数据的单元格的背景颜色?
- reactjs - axios 在帖子中不包括 firebase 标头
- amazon-web-services - 从 S3 获取最新文件失败并出现错误
- java - 有没有办法在 JScrollPane 上显示 2D 图形
- django - 如何自定义 django-allauth url
- javascript - 从角色获取所有成员仅返回 Bot 和发送命令的用户