Rails activerecord ActiveRecord查询,其中加入的记录不';不存在

Rails activerecord ActiveRecord查询,其中加入的记录不';不存在,rails-activerecord,Rails Activerecord,假设模型如下: Student has_many :assignments Assignment belongs_to :student 作业有一个日期字段“date”,表示作业提交的日期 如何使用带.where()的ActiveRecord查询检索在date=mm/dd/yyyyy之后没有作业的所有学生对象?我更喜欢直接使用ActiveRecord,而不使用特定于数据库的SQL 谢谢 这是: 您可以使用以下命令使用较少的SQL完成此操作: Student.where("not exis

假设模型如下:

Student 
has_many :assignments

Assignment 
belongs_to :student
作业有一个日期字段“date”,表示作业提交的日期

如何使用带.where()的ActiveRecord查询检索在date=mm/dd/yyyyy之后没有作业的所有学生对象?我更喜欢直接使用ActiveRecord,而不使用特定于数据库的SQL

谢谢

这是:

您可以使用以下命令使用较少的SQL完成此操作:

Student.where("not exists (select 1 from assignments where created_at > ? and assignments.student_id = students.id)", some_date)
Student.where_not_exists(:assignments, "created_at > '#{some_date}'")