簡體   English   中英

如何在Ruby on Rails中將此sqlite查詢轉換為postgresql查詢?

[英]How would I translate this sqlite query into a postgresql query in Ruby on Rails?

我正在嘗試過濾帖子,並使用此查詢來獲取它們。

@posts = Post.all.includes(:course).where("courses.name IN (#{@user.courses.map(&:name).collect { |s| "'#{s}'"  }.join(',') })").references(:course).order("posts.created_at DESC")

我對Postgresql不熟悉,並且知道有一些區別。 如何將其更改為在postgres中查詢?

您的查詢將按原樣工作。 但是您可以修改查詢,以避免不必要的操作:

@posts = 
  Post.all.includes(:course).where("courses.name IN (?)", @user.courses.map(&:name)).order("posts.created_at DESC")

Rails將負責在此數組中連接值@user.courses.map(&:name)

您不需要手動進行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM