我有这个问题,

User.where('name LIKE ?', "%#{term}%").where(group: "student").limit(10)

我有这种偷偷摸摸的怀疑,我可以以某种方式改进它,主要是允许在一个方法而不是两个,但任何尝试导致sql查询不识别组字段。 到目前为止,上述工作,但我想知道这是否可以改善和如何。

另外,除了审美外观之外,我是否应该担心查询中有多个where方法?

===============>>#1 票数:1

多个地方不会对性能产生任何明显影响。 数据库只被击中一次。

具有“LIKE”的查询本质上很慢。

===============>>#2 票数:1 已采纳

您拥有的当前代码很好,并且比将调用组合到where更具可读性。 正如其他评论者/答案所指出的那样,多次调用where不会影响db查询的总速度。

如果你想知道如何查询更改为单where打电话,请尝试以下

User.where('name LIKE ? AND group = ?', "%#{term}%", 'student').limit(10)

  ask by jason328 translate from so

未解决问题?本站智能推荐:

关注微信公众号