如何查询活动记录?

Posted

技术标签:

【中文标题】如何查询活动记录?【英文标题】:how to query active record? 【发布时间】:2021-10-30 12:11:15 【问题描述】:

我想看看我的哪些学生有证书。在学生模型 has_many :certifications 中。当我执行Student.where(company_id:79).countStudent.where(company_id:79).all 查询时,它会返回学生人数(748 人)和包含所有学生的数组。但是,我只能咨询是否有证书,每个学生一份一份。当我执行Student.where(company_id:79).certifications 时,它会返回一个错误:(undefined method "certifications" for #<Student::ActiveRecord_Relation:0x0000564640516fd0>)

当我做x = Student.where(company_id:79).lastx.certifcations 那么是的,它是否返回学生的证书。

【问题讨论】:

你必须使用joins。 Student.where(company_id:79).joins(:certifications) 【参考方案1】:

由于学生和证书之间存在一对多关联,因此您可以这样做: Student.where(company_id: 79).joins(:certificates).distinct

【讨论】:

以上是关于如何查询活动记录?的主要内容,如果未能解决你的问题,请参考以下文章

如何查询活动记录?

如何使用活动记录查询sql以获取指定时间之间的日期

使用活动记录形成查询

如何在此查询的 codeigniter 活动记录中编写子查询

Codeigniter 活动记录查询

如何在codeigniter活动记录中使用select插入记录