合并表

0
视频
0
完成
0%
进度
0
分钟
0
完成
0%
进度

我们可以使用模型之间的关联来创建合并表。比如我想检索的结果里面包含用户的 id,用户的名字,还有用户发布的文章的标题 .. 也就是这个结果里面包含来自两个表的栏,用户 id 还有用户名字来自 users 表,文章的标题来自 posts 表 ..

我们可以使用文章和用户的关联去创建一个合并表。文章和用户的关系是,文章 belongs_to 用户,用户 has_many 文章 ...

使用 User 模型的 select 方法,选择几个字段 ... users 表里的 id, users 表里的 name ... 还有 posts 表里的 title ...

接着再用一个 joins 方法 .. 合并 :posts 表 .. 返回的结果里面包含用户的 id 号,用户的名字,还有用户发布的文章的标题 ...

table User.select("users.id, users.name, posts.title").joins(:posts)

这个后面我们还可以使用 where 去设置一下条件,比如我打算用文章表里的格式字段作为条件 ... 用一个 where 方法 .. posts.format = ? ... 文章的格式得是 video ...

.where("posts.format = ?", "video")

返回的结果就是所有的用户发布的 video 格式的文章内容 ...

合并表《 Rails:查询接口 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点