has_many by rails中的布尔值

时间:2016-03-30 16:56:29

标签: ruby-on-rails ruby model include has-many

在我的ruby on rails应用程序中,我有两个模型:用户和项目

在我的用户模型中,我想要一个用户可以拥有许多项目的关系:

has_many :items

对于这种关系,我不仅会在items表中使用user_id列。

当我这样做时

User.includes(:items) 

我宁愿把所有物品放在哪里 - 项user_id属于用户(经典方式) - 或者例如布尔列(如all_users)为真

可以用

完成
has_many :items + any special options? 

它看起来怎么样?

谢谢&此致,Andreas

1 个答案:

答案 0 :(得分:0)

User.includes(:items).all # will load all users with all nested items User.includes(:items).where(name: 'Joe') # will load user(s) Joe and their items 只是指示rails SQL构建器加载所有嵌套项目并加载用户。

那就是说,

Item

这样做是为了最大限度地减少对数据库的查询量。

是否要加载所有,应使用Item.where(user_id: User.find_by_name('Joe').pluck(:id)) 上的查询,例如:

<bean id="bean1" class="java.lang.String">
        <constructor-arg type="String" value="someword" />
</bean>