我正在重写 Rails 中基于 PHP 的支持票证系统,但遇到了障碍。我创建了用户表并创建了票证表
create_table "tickets", :force => true do |t|
t.integer "user_id", :null => false
t.integer "department_id", :null => false
t.integer "upload_id", :null => false
t.string "subject", :null => false
t.text "body", :null => false
t.string "status_id", :null => false
t.text "url", :null => false
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
create_table "users", :force => true do |t|
t.string "fName", :null => false
t.string "lName", :null => false
t.string "seKey", :null => false
t.boolean "isAdmin"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.string "auth_token"
end
一切都很好,我可以创建票证等...现在我需要为票证分配 1 个或多个管理员,但不确定我应该使用 has_and_belongs_to_many 关系还是 has_many :through 关系。
目前在 PHP 中设置的方式只是使用一个将用户 ID 与票证 ID 匹配的连接表。我认为我不需要任何其他与这种关系相关的数据,所以 has_and_belongs_to_many 是最好的选择吗?
此外,由于工单已经与用户表(原始创建者)中的记录相关联,这是否会导致问题?基本上一张票将与用户表有多个连接,一个是提交它的人,其余的是被分配处理它的用户。