Мне нужно обновить некоторые записи навалом, используя ActiveXRecord's #update_all
.Rails массовое обновление с условием
values = {}
values[:developer_id] = value
values[:status] = 2 # if issue.status == 1
issues.update_all(values)
мне нужно, чтобы убедиться, чтобы обновить статус, только если его значение равно 1, так что я не знаю, как я могу добиться того, что без зацикливания вопросов и проверить каждый из них и обновить столбцы (п + 1).
EDIT
Для того, чтобы вопрос ясно, мне нужно обновить все столбцы для developer_id все вопросы и обновлять статус, только если == статус 1.
Как обновить в объем и применение этого условия в одно и то же время?
Как раз это имеет смысл, было сделано замечание о том, что OP только хочет обновить статус, если статус 1, но хочет обновить developer_id во всех случаях. В этом случае вам, вероятно, понадобится использовать рукописный SQL, похожий на статус status = CASE КОГДА 1 ТОГДА 2 ELSE status END. Это, вероятно, будет отличаться в зависимости от используемой базы данных. – rdubya
Я редактировал вопрос, я думал, что это понятно, извините за это. –
Вы не можете сделать это в одном запросе. Вы должны сделать это в двух запросах. Сначала обновите 'developer_id', а затем' status'. Почему это должен быть один запрос? – Mischa