Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql Activerecord-如何制作?_Mysql_Ruby_Activerecord - Fatal编程技术网

Mysql Activerecord-如何制作?

Mysql Activerecord-如何制作?,mysql,ruby,activerecord,Mysql,Ruby,Activerecord,每天,我都需要运行脚本并向所有用户发送“考试”或一组问题。我已经建模为类'Exam',它是ActiveRecord::Base的子类。现在,我如何发送用户的考试实例 我当时的想法是创建一个名为'ExamInstance'的新类,该类将引用'Exam'和用户 我不熟悉SQL和ActiveRecord,所以如果有人能帮我更好地建模,这样我以后就可以避免问题,或者只是给我一些见解,那就太好了 谢谢我建议只使用has\u many:通过为考试和用户之间的多对多关系创建一个模型 class User &l

每天,我都需要运行脚本并向所有用户发送“考试”或一组问题。我已经建模为类'Exam',它是ActiveRecord::Base的子类。现在,我如何发送用户的考试实例

我当时的想法是创建一个名为'ExamInstance'的新类,该类将引用'Exam'和用户

我不熟悉SQL和ActiveRecord,所以如果有人能帮我更好地建模,这样我以后就可以避免问题,或者只是给我一些见解,那就太好了


谢谢

我建议只使用
has\u many:通过
考试
用户
之间的多对多关系创建一个模型

class User < ActiveRecord::Base
  has_many :users_exams
  has_many :exams, :through => :users_exams
end
 
class UserExam < ActiveRecord::Base
  belongs_to :users
  belongs_to :exams
end
 
class Exam < ActiveRecord::Base
  has_many :users_exams
  has_many :users, :through => :users_exams
end
class用户:用户\u考试
结束
 
类UserExam:用户
结束

有关

的更多信息,请添加“ExamUser”模型,以跟踪考试和相应的用户参考。模型骨架将类似于:


类ExamUser


然后,您可以循环浏览此表的记录以发送您的问题。

您可以这样设计您的新模型

  class ExamUser < ActiveRecord::Base
   belongs_to :user  # user has many exams
   belongs_to :exam  #  exam has many users
  end
类ExamUser
  class ExamUser < ActiveRecord::Base
   belongs_to :user  # user has many exams
   belongs_to :exam  #  exam has many users
  end