1

Sequel gem を使用して、MySql でユーザーを一括更新しています。

users = Users.filter(:id => ids).all
raise if users.nil?

updated_users = Users.filter(:id => addon_ids).update({deleted: 1, moderator_id: moderator_id})
p updated_users
# => 3

続編のドキュメントによると、

「更新[および削除]は、影響を受けた行の数を返す必要があります...」

上記の動作は予期されたものですが、私の質問は、Sequel gem が影響を受けるレコードの数ではなく、更新されたレコードを返すようにするにはどうすればよいですか?

私はこの動作を期待しています:

users = Users.filter(:id => ids).all
raise if users.nil?

updated_users = Users.filter(:id => addon_ids).update({deleted: 1, moderator_id: moderator_id})
p updated_users
# => [#<Users @values={:id=>1, :moderator_id=>"testuser", :deleted=>1}>, #<Users @values={:id=>2, :moderator_id=>"testuser", :deleted=>1}>, #<Users @values={:id=>3, :moderator_id=>"testuser", :deleted=>1}>]
4

2 に答える 2