我有这个模型时间表:
class Question < ActiveRecord::Base
has_many :closed_questions
end
class ClosedQuestion < ActiveRecord::Base
belongs_to :question
belongs_to :user
end
我正在尝试获取该用户未检查为已关闭的所有问题。
示例:
ID | Question
1 | Question A
2 | Question B
3 | Question C
4 | Question D
用户 1
检查 ID 为 3
的问题已关闭。如何获取问题 ID 1, 2, 4
的输出?
提前谢谢您。
最佳答案
您可能想尝试这样的事情:
user = User.find(1)
Question.where.not(id: user.closed_questions.pluck(:question_id))
请注意,在 Rails 4 之前,您可能会看到这样写:
user = User.find(1)
Question.where("id NOT IN (?)", user.closed_questions.pluck(:question_id))
关于mysql - Rails 4 - 如果另一个表中没有特定记录,如何从表中选择数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28527894/