gpt4 book ai didi

ruby-on-rails - 获取 "own"所有这些其他记录的所有记录

转载 作者:行者123 更新时间:2023-12-04 03:51:42 25 4
gpt4 key购买 nike

我有一个Recipe模型,它有_many IngredientsRecipeIngredients:

  has_many :recipe_ingredients
has_many :ingredients, through: :recipe_ingredients

具有 recipe_id 和 ingredient_id 列的 RecipeIngredient 模型。

  belongs_to :recipe
belongs_to :ingredient

我的问题是,如何获得包含所有特定成分的所有食谱?


尝试:

配方模型:

scope :by_ingredient, -> ing { includes(:recipe_ingredients).where(recipe_ingredients: {ingredient_id: ing.id})}

当我执行 Recipe.by_ingredient(apple) 时,它会正确返回所有含有苹果的食谱,而 Recipe.by_ingredient(orange) 会正确返回所有含有橙子的食谱。

但是当我像这样链接作用域时:Recipe.by_ingredient(apple).by_ingredient(orange),即使有包含苹果和橙子的食谱,它也会返回一个空数组。

最佳答案

好的,经过几个小时的搜索,我找到了方法 merge :

Recipe.by_ingredient(apple).merge(Recipe.by_ingredient(orange))

成功返回所有包含苹果和橙子的食谱。

关于ruby-on-rails - 获取 "own"所有这些其他记录的所有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36879525/

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