相关疑难解决方法(0)

在rails模型中编写大型SQL的更好方法是什么?

采用了大量的后阿雷尔Rails的提供了糖的代码,我与庞大而复杂的sql语句的查询,我无法做到这一点非常好打交道时遇到问题阿雷尔方法.我喜欢Arel的小东西,但是当它变得混乱时,我更喜欢分开代码.

那么,有什么建议我应该如何处理模型中的大型SQL?就像,我何时应该为此创建SQL视图(因为我看到Rails提供的不是很好,我必须为此创建一个迁移)或在某个文件夹"sqls"中创建任何单独的类,然后从那里调用.

我知道有些人使用<< - SQL表达式

这是我目前的例子:

Question.from(self.questions
                  .select("questions.id")
                  .select("(NOT (questions.last_active_user_id = #{user.id} OR (COALESCE(ss.updated_at > questions.last_active_at, false) OR COALESCE(ds.updated_at > questions.last_active_at, false))))::integer as active")
                  .select("(((NOT((COALESCE(ss.updated_at > questions.created_at, false) OR COALESCE(ds.updated_at > questions.created_at, false))) AND pages.owner_id = questions.user_id) OR (NOT (COALESCE(ss.updated_at > questions.owner_found_important_at, false) OR COALESCE(ds.updated_at > questions.owner_found_important_at, false)) AND owner_found_important_at is not null AND COALESCE(pages.owner_id <> #{user.id}, true))) AND COALESCE(pages.owner_id <> #{user.id}, true) AND …
Run Code Online (Sandbox Code Playgroud)

ruby sql coding-style ruby-on-rails ruby-on-rails-3

5
推荐指数
1
解决办法
290
查看次数

标签 统计

coding-style ×1

ruby ×1

ruby-on-rails ×1

ruby-on-rails-3 ×1

sql ×1