Suc*_*uch 6 postgresql activerecord ruby-on-rails rails-postgresql
我基本上有以下代码:
ModelA.join(:modelB).update_all('modelA.column = modelB.column')
Run Code Online (Sandbox Code Playgroud)
失败了:
ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR: missing FROM-clause entry for table "modelB"
LINE 1: ..." SET modelAs.column = modelBs...
^
UPDATE "modelAs" SET modelAs.column = modelBs.column WHERE "modelAs"."id" IN (
SELECT "modelAs"."id" FROM "modelAs" INNER JOIN "modelBs" ON "modelBs"."id" = "modelAs"."modelB_id"
)
Run Code Online (Sandbox Code Playgroud)
查看生成的 sql 请求,很明显 Postgresql 希望 modelB 表出现在查询的更新部分。有办法做到这一点还是一个错误?
(该问题特定于 Postgresql / Postgresql Rails 适配器。上面的代码在 MySQL 上运行良好,连接子句也被复制到请求的更新部分中)
| 归档时间: |
|
| 查看次数: |
1913 次 |
| 最近记录: |