ruby-on-rails-4 - Rail 4:如何删除所有带有连接结果的查询
问题描述
我正在尝试使用两个表之间的连接来删除查询的所有结果,例如:
availabilitiesToDelete = Mmk::Availability.find_by_sql(["SELECT a.id
FROM mmk_availabilities a, mmk_resources r
WHERE a.resource_id = r.id
AND r.company_id = ?", mmkCompany.id])
availabilitiesToDelete.delete_all
但我收到错误
NoMethodError (undefined method `delete_all' for #<Array:0x007fa657f2a4e0>)
我该怎么做?
解决方案
find_by_sql
在 rails-4 中返回Array
对象而不是ActiveRecord::Relation
对象。delete_all
是 AR 查询,在您的情况下会引发错误。
也许您可以进一步进行,
availabilitiesToDelete.each(&:delete)
推荐阅读
- r - 如何在 r 中为更多的自变量和更少的观察值进行逐步回归?
- powerbi - PowerBI - 动态 TopN + 其他取决于切片器
- angular - 角网::ERR_SSL_PROTOCOL_ERROR
- mysql - 如何在laravel中使用ajax更新视频播放当前时间
- firebase - 支持团队角色的 Firestore 架构
- css - R闪亮对齐100 radioGroupButtons 10x10
- google-sheets - 基于相同值的累进 ID 号
- java - Spring Data Redis InvocationTargetException
- python - 包括非素数的素数检查器
- spring-boot - 无法获取登录 Spring Boot 的日期