こんにちは私は自分のクエリに問題があります。 以下の私のモデルがあります。結合がありクエリに含まれていると、アクティブレコードがコレクションを更新しない
class Owner
has_many :busiensses
has_many :adverts
end
class Business
belongs_to :owner
end
class Advert
belongs_to :owner
end
私はこのクエリのすべてが大丈夫であることを確認し、それが必要なオブジェクトの完全な右のコレクションを返した場合:
Owner.joins(:adverts).includes(:businesses)
.where(businesses: {owner_id: nil})
をしかし、私は更新を照会するために追加したときにはエラー
を発生させますOwner.joins(:adverts).includes(:businesses)
.where(businesses: {owner_id: nil})
.update_all(status: 'sth')
エラー:
ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR: missing FROM-clause entry for table "businesses"
どこに問題がありますか?私はSQLからこのエラーを賭けて、あなたが忘れたときにそれを賭けました。sth〜FROMステートメントと、sthがさらに必要ですが、ARのどこに追加するのを忘れましたか?
試みは、 '(「owners.status =『STHを』」).update_allを行うには、' – Syl