使用AND條件我現在有這三個表:如何在ActiveRecord的查詢
create_table "cocktail_ingredients", force: :cascade do |t|
t.integer "cocktail_id"
t.integer "ingredient_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.index ["cocktail_id"], name: "index_cocktail_ingredients_on_cocktail_id"
t.index ["ingredient_id"], name: "index_cocktail_ingredients_on_ingredient_id"
create_table "cocktails", force: :cascade do |t|
t.string "title"
t.string "ingredients"
t.text "method"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
create_table "ingredients", force: :cascade do |t|
t.string "name"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
我嘗試這樣做,將返回所有包含所有的成分在我的搜索雞尾酒SEACH。 到目前爲止,我已經設法想出這個:
CocktailIngredient.where(ingredient_id:[1,4])的地圖。(&:雞尾酒).uniq
它返回所有包括雞尾酒1或4的ingredient_id。我試圖只返回含有兩種成分的雞尾酒,編號爲1和4.
任何幫助將不勝感激。
當我研究你的問題...在雞尾酒表中字段'ingridients'的目標是什麼? – AntonTkachov
爲了方便地在雞尾酒會上向用戶展示原料 – pfrasdog