gpt4 book ai didi

ruby-on-rails - 急切地加载条件

转载 作者:行者123 更新时间:2023-12-04 09:15:17 26 4
gpt4 key购买 nike

较新的预先加载风格使用多个查询来加载关联。是否可以向那些额外的急切加载查询添加条件?例如
Bakery.find(:all, :include => :bakers)
将生成一个与此类似的急切加载查询:

选择 bakers .* 发件人 bakers WHERE ( bakers .bakery_id IN (1,2,3,4,5))

是否可以向这个急切加载查询添加条件?

更新:
为了(也许)更清楚地说明这一点,我想用 AR(无 SQL)复制的查询是:

选择 * 从 bakeries左连接 bakers ON bakeries.id=bakers.bakery_id AND bakers.hat = 'on'

具体来说,我希望能够将第二个急切加载的 SQL 语句修改为:

选择 bakers .* 发件人 bakers WHERE ( bakers .bakery_id IN (1,2,3,4,5) AND bakers .hat = 'on')

这是可能的,还是我必须使用 SQL?只是在寻找“Rails”方式来做到这一点。 :)

最佳答案

那么,您特别想在关联查询中更改什么?

你当然可以这样做:

Bakery.find(:all, :include => :bakers, :conditions => ["bakers.something = ?", true])

如果我们有更多的信息,可能会有更好的方法来做到这一点。根据您要查找的内容,您可能需要查看 named_scope s,您可以将其链接在一起,例如:
Bakery.bakers.available
named_scope很整洁。

关于ruby-on-rails - 急切地加载条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1583681/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com