0

好奇心から、(find_by_sql ではなく) 名前付きスコープを使用して次のコレクションを構築するより良い方法を知っている人はいますか?

@available = Workflow.find_by_sql(["
      SELECT workflows.id FROM workflows
      WHERE workflows.project_id = ? AND workflows.status < 5 AND
      ( workflows.created_by = ? OR workflows.id IN 
        (
           SELECT workflow_id FROM workflow_histories   
           INNER JOIN workflow_recipients on workflow_histories.id = workflow_recipients.workflow_history_id   
           WHERE workflow_recipients.recipient_id = ? AND workflow_recipients.recipient_type = ?
        )
      )", project.id, @current_user.id,  @current_user.id , 'USER'])
4

1 に答える 1