ruby-on-rails – Rails:返回不存在关系的记录

使用活动记录,如果模型中的某些关系不存在,则如何返回模型的结果.例如,假设我有一个属于类别的Recipe模型(通过category_recipes连接表).

所以基本上我有一个Rake任务,可以查看每个食谱及其描述,并尝试输入一个类别,但任务需要很长时间,我需要定期运行它,所以我只想运行如果相关的配方尚未被分类,我宁愿不添加分类的多余列,所以我认为有一种方法只能检索连接表中不存在的配方.有什么想法吗?

解决方法

您可以使用LEFT OUTER JOIN解决查询
Recipe.joins('LEFT OUTER JOIN recipe_categories ON recipes.id = recipe_categories.recipe_id').where('recipe_categories.recipe_id IS NULL')

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...