gpt4 book ai didi

mysql - Rails 搜索 `has_many :through` 文本字段

转载 作者:行者123 更新时间:2023-11-29 06:22:08 26 4
gpt4 key购买 nike

假设我有两个模型,它们之间有关联 has_many :through

class Category < ActiveRecord::Base
has_many :category_recipes
has_many :categories, through: :category_recipes

validates :name, presence: true

class Recipe < ActiveRecord::Base
has_many :category_recipes
has_many :categories, through: :category_recipes

validates :title, presence: true

我想使用 ActiveRecord 为 mySQL 数据库创建搜索功能,它允许用户在 Recipe 标题和类别 name 上实现文本搜索。

现在我刚刚:

@recipes = Recipe.where('title LIKE ?', "%#{params[:query]}%")

如何修改此查询以搜索食谱标题及其类别名称?

最佳答案

Recipe.includes(:categories).where('recipes.title LIKE :query or categories.name like :query', query: "%#{params[:query]}%").references(:categories)

参见:Specifying Conditions on Eager Loaded Associations

关于mysql - Rails 搜索 `has_many :through` 文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32858060/

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