Просто подробно остановимся на ответе we138 :
Ханами использует ROM и Sequel под капотом для своих хранилищ.
Если у вас естьЕсли у вас есть какие-либо сомнения относительно того, как добавить фильтры для ваших запросов, вы всегда можете проверить документацию для репозиториев Hanami и для этих драгоценных камней.
Используя репозиторий hanami, вы можете сделать это обновление, как описано we138 :
UserRepository.new.users
.where(id: user_id, deleted_at: nil, client_id: client_id)
.update(attributes)
И это вернет вам количество затронутых строк.
Если вы хотите обновить запись, используя ваши фильтры, и вернуть затронутые строки, вы можетеиспользуйте продолжение непосредственно:
Sequel::Model.db[:users]
.where(id: user_id, deleted_at: nil, client_id: client_id)
.returning
.update(attributes)
Более подробную информацию о том, как фильтровать запросы, используя ROM и Sequel, можно найти по следующим ссылкам:
https://rom -rb.org / 4.0 / learn /sql / query / https://sequel.jeremyevans.net/rdoc/files/doc/dataset_filtering_rdoc.html