如何根据条件更新属性?
我需要更新属性,但仅限于具有特定条件的行,例如
["recipient_id = ? and inbox_id = ? and status='unread'", current_user.id, @inbox.id]
我该如何做?
I need to update attributes but only for rows with the specific conditions like
["recipient_id = ? and inbox_id = ? and status='unread'", current_user.id, @inbox.id]
How do I do it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这取决于您是否想要进行批量 SQL 更新,或者对还调用验证和正常回调链的每个模型进行更新。
如果要实例化对象并运行回调链,请执行以下操作:
如果要执行 SQL 更新:
确保使用条件数组形式以确保正确转义 SQL。
It depends on if you want to do a bulk SQL update, or do an update on each model that also calls validation and the normal callback chain.
If you want to instantiate the objects and run the callback chain do:
If you want to do the SQL update:
Make sure to use the array form of conditions to ensure you correctly escape your SQL.
您还可以使用
where
条件进行批量 SQL 更新,我发现这更具可读性。You can also do the bulk SQL update using
where
conditions, which I find to be more readable.