首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何删除活动记录查询中的引号

如何删除活动记录查询中的引号
EN

Stack Overflow用户
提问于 2012-10-31 14:39:42
回答 1查看 698关注 0票数 3

我试图从多个表中检索记录,基于下面查询的it集合,它运行良好。

活动记录查询:

Song.order("songs.id desc")。包括(:艺人).includes(:专辑)。联接(“在songs.artist_id =artists.id上左加入艺术家”)。联接(“songs.album_id =albums.id上的左连接专辑”)。其中(“”(songs.id) 在(#{song_ids*,'})和(较低(songs.title)相似:术语或较低(artists.name)相似:术语或较低(albums.title)相似:术语“,术语=> "%#{termsindex.downcase}%")中

PG查询输出:

从“歌曲”中选择“歌曲”.*,左加入songs.artist_id = artists.id上的艺术家,左加入songs.album_id = albums.id所在的专辑( ( songs.id ) IN (4,5,28,37,46,48)和(较低(songs.title)如'%wo%‘或较低(artists.name)如'%wo%’或‘%wo%’(albums.title))顺序)

但是,当我试图修改查询时,如下所示

活动记录查询:

Song.order("songs.id desc")。包括(:艺人).includes(:专辑)。联接(“在songs.artist_id =artists.id上左加入艺术家”)。联接(“songs.album_id =albums.id上的左连接专辑”)。其中(“”(songs.id) 在(:song_ids)和(较低(songs.title)相似:术语或较低(artists.name)相似:术语或较低(albums.title)相似:term )中,

代码语言:javascript
复制
      :term => "%#{terms[index].downcase}%",:song_ids => song_ids*',')

PG查询输出:

从“歌曲”中选择“歌曲”.*,左加入songs.artist_id = artists.id上的艺术家,左加入songs.album_id = albums.id所在的专辑( ( songs.id ) IN ('4,5,28,37,46,48')和(较低(songs.title)如'%wo%‘或较低(artists.name)类似'%wo%’或较低(albums.title)如‘%wo%’)顺序

由于单引号,上面的查询不起作用。

EN

回答 1

Stack Overflow用户

发布于 2013-06-19 01:23:00

尝试将:song_ids => song_ids*','替换为:song_ids => song_ids

在您的原始代码中,您将song_ids转换为string,该字符串被转义,单引号用于标记它是一个字符串。它只将数组作为参数传递,rails将执行此操作,并将其转换为如下内容:4、5、28、37、46、48(您仍然需要括号)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13160441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档