0
出於好奇,有沒有人知道使用命名範圍構建以下集合的更好方法(與find_by_sql相反)?命名範圍與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'])
謝謝你,這正是我所需要的。唯一需要改變的是缺少的右括號 – 2009-12-04 16:22:20
哇,我一直在ActiveRecord工作了一段時間,我從來沒有意識到你可以使用命名參數,而不是使用'?'的位置。這很酷。 – 2009-12-04 21:00:05