在我的ruby on rails应用程序中,我有两个模型:用户和项目
在我的用户模型中,我想要一个用户可以拥有许多项目的关系:
has_many :items
对于这种关系,我不仅会在items表中使用user_id列。
当我这样做时
User.includes(:items)
我宁愿把所有物品放在哪里 - 项user_id属于用户(经典方式) - 或者例如布尔列(如all_users)为真
可以用
完成has_many :items + any special options?
它看起来怎么样?
谢谢&此致,Andreas
答案 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>