Advertisement
Guest User

Untitled

a guest
Jul 30th, 2015
218
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.10 KB | None | 0 0
  1. class QuestionSet < ActiveRecord::Base
  2. self.primary_keys = :question_set_id, :generation, :language_id
  3. has_many :question_set_questions,
  4. foreign_key: [:set_id, :set_generation],
  5. primary_key: [:question_set_id, :generation]
  6. has_many :questions, through: :question_set_questions
  7. end
  8.  
  9. class QuestionSetQuestion < ActiveRecord::Base
  10. belongs_to :question_set,
  11. -> { where :language_id => Language.current_language.id },
  12. foreign_key: [:set_id, :set_generation],
  13. primary_key: [:question_set_id, :generation]
  14. belongs_to :question,
  15. -> { where :language_id => Language.current_language.id },
  16. foreign_key: [:question_id, :question_generation],
  17. primary_key: [:question_id, :generation]
  18. end
  19.  
  20. class Question < ActiveRecord::Base
  21. self.primary_keys = :question_id, :generation, :language_id
  22. has_many :question_set_questions,
  23. foreign_key: [:question_id, :question_generation],
  24. primary_key: [:question_id, :generation]
  25. has_many :question_sets, through: :question_set_questions
  26. end
  27.  
  28. qs = QuestionSet.first
  29. qs.questions
  30.  
  31. q = Question.first
  32. q.question_sets
  33.  
  34. qsq = QuestionSetQuestion.first
  35. qsq.question
  36. # or
  37. qsq.question_set
  38.  
  39. Question.find([1,1,1])
  40. # or
  41. QuestionSet.find([1,1,1])
  42.  
  43. EXEC sp_executesql N'SELECT [questions].* FROM [questions] WHERE ([questions].[question_id] = @0 AND [questions].[generat
  44. ion] = @1 AND [questions].[language_id] = @2) ORDER BY [questions].[question_id,generation,language_id] ASC OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY',
  45. N'@0 int, @1 int, @2 int', @0 = 1, @1 = 1, @2 = 1 [["question_id", 1], ["generation", 1], ["language_id", 1]]
  46. TinyTds::Error: Invalid column name 'question_id,generation,language_id'.: EXEC sp_executesql N'SELECT [questions].* FROM [questions] WHERE ([ques
  47. tions].[question_id] = @0 AND [questions].[generation] = @1 AND [questions].[language_id] = @2) ORDER BY [questions].[question_id,generation,langu
  48. age_id] ASC OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY', N'@0 int, @1 int, @2 int', @0 = 1, @1 = 1, @2 = 1
  49. ActiveRecord::StatementInvalid: TinyTds::Error: Invalid column name 'question_id,generation,language_id'.: EXEC sp_executesql N'SELECT [questions]
  50. .* FROM [questions] WHERE ([questions].[question_id] = @0 AND [questions].[generation] = @1 AND [questions].[language_id] = @2) ORDER BY [question
  51. s].[question_id,generation,language_id] ASC OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY', N'@0 int, @1 int, @2 int', @0 = 1, @1 = 1, @2 = 1
  52. from c:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activerecord-sqlserver-adapter-4.2.3/lib/active_record/connection_adapters/sqlser
  53. ver/database_statements.rb:336:in `each'
  54. from c:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activerecord-sqlserver-adapter-4.2.3/lib/active_record/connection_adapters/sqlser
  55. ver/database_statements.rb:336:in `handle_to_names_and_values_dblib'
  56. from c:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activerecord-sqlserver-adapter-4.2.3/lib/active_record/connection_adapters/sqlser
  57. ver/database_statements.rb:325:in `handle_to_names_and_values'
  58. from c:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activerecord-sqlserver-adapter-4.2.3/lib/active_record/connection_adapters/sqlser
  59. ver/database_statements.rb:300:in `_raw_select'
  60. from c:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activerecord-sqlserver-adapter-4.2.3/lib/active_record/connection_adapters/sqlser
  61. ver/database_statements.rb:295:in `block in raw_select'
  62. from c:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activerecord-4.2.0/lib/active_record/connection_adapters/abstract_adapter.rb:466:
  63. in `block in log'
  64. from c:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activesupport-4.2.0/lib/active_support/notifications/instrumenter.rb:20:in `instr
  65. ument'
  66. from c:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activerecord-4.2.0/lib/active_record/connection_adapters/abstract_adapter.rb:460:
  67. in `log'
  68. from c:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activerecord-sqlserver-adapter-4.2.3/lib/active_record/connection_adapters/sqlser
  69. ver/database_statements.rb:295:in `raw_select'
  70. from c:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activerecord-sqlserver-adapter-4.2.3/lib/active_record/connection_adapters/sqlser
  71. ver/database_statements.rb:244:in `sp_executesql'
  72. from c:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activerecord-sqlserver-adapter-4.2.3/lib/active_record/connection_adapters/sqlser
  73. ver/database_statements.rb:19:in `exec_query'
  74. from c:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activerecord-sqlserver-adapter-4.2.3/lib/active_record/connection_adapters/sqlser
  75. ver/database_statements.rb:199:in `select'
  76. from c:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activerecord-4.2.0/lib/active_record/connection_adapters/abstract/database_statem
  77. ents.rb:32:in `select_all'
  78. from c:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activerecord-4.2.0/lib/active_record/connection_adapters/abstract/query_cache.rb:
  79. 70:in `select_all'
  80. from c:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activerecord-4.2.0/lib/active_record/querying.rb:39:in `find_by_sql'
  81. from c:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activerecord-4.2.0/lib/active_record/relation.rb:638:in `exec_queries'
  82. ... 1 levels...
  83. from c:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activerecord-4.2.0/lib/active_record/relation.rb:243:in `to_a'
  84. from c:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activerecord-4.2.0/lib/active_record/relation/finder_methods.rb:487:in `find_take
  85. '
  86. from c:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activerecord-4.2.0/lib/active_record/relation/finder_methods.rb:105:in `take'
  87. from c:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/composite_primary_keys-8.1.0/lib/composite_primary_keys/relation/finder_methods.r
  88. b:124:in `find_one'
  89. from c:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/composite_primary_keys-8.1.0/lib/composite_primary_keys/relation/finder_methods.r
  90. b:97:in `find_with_ids'
  91. from c:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/activerecord-4.2.0/lib/active_record/relation/finder_methods.rb:71:in `find'
  92. from c:in `find'
  93. from c:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/composite_primary_keys-8.1.0/lib/composite_primary_keys/core.rb:26:in `find'
  94. from (irb):1
  95. from c:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/railties-4.2.0/lib/rails/commands/console.rb:110:in `start'
  96. from c:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/railties-4.2.0/lib/rails/commands/console.rb:9:in `start'
  97. from c:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:68:in `console'
  98. from c:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
  99. from c:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/railties-4.2.0/lib/rails/commands.rb:17:in `<top (required)>'
  100. from bin/rails:4:in `require'
  101. from bin/rails:4:in `<main>'irb(main):
  102.  
  103. TinyTds::Error: Invalid column name 'question_id,generation,language_id'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement