0

我在使用存储库上的连接执行删除/更新操作时遇到了一些麻烦。我有Libraries那个属于Users并且有很多Books,就像这样:

class LibraryRepository < Hanami::Repository
  associations do
    belongs_to: user
    has_many :books
  end

class BookRepository < Hanami::Repository
  associations do
    belongs_to :library
  end

现在我想删除一个图书条目,但前提是它属于用户图书馆。我试图使用以下查询来做到这一点:

books.join(libraries).where(libraries[:user_id] => user_id).where(id: id).delete

但我收到以下错误:

Sequel::Error: Need multiple FROM tables if updating/deleting a dataset with JOINs

关于如何进行此类查询的任何建议?

4

1 回答 1

0

我认为 Hanami 不支持多个 from,但 postgresql 支持

books.dataset.from(:books, :libraries).where(Sequel[:libraries][:user_id] => user_id, Sequel[:id] => id).delete
于 2021-08-22T14:20:08.813 回答