我有两个表,其中一个表有一个外键
type
id, name
以及
section
id, type_id, name, color
现在我需要创建一个查询来获取所有带有@name的部分,如果@name与www.example.com匹配category.name,我需要获取该类型的所有部分
示例:
类型:
id= 1, name: oneType
id= 2, name: twoType
id= 3, name: threeType
截面
id=1, type_id:1, name: section1
id=2, type_id:2, name: section2
id=2, type_id:2, name: section3
现在如果我在寻找“2”,预期的结果必须是这样的:
id=2, type_id:2, name: section2
id=2, type_id:2, name: section3
现在如果我正在寻找'sect',预期的结果必须是这样的:
id=1, type_id:1, name: section1
id=2, type_id:2, name: section2
id=2, type_id:2, name: section3
现在如果我正在寻找'section 2',预期的结果必须是这样的:
id=2, type_id:2, name: section2
这是我的尝试:
Section.joins(:type).where("name = ?", @name).select("id, name")
但我得到这个错误:
TypeError:
can't quote Array
1条答案
按热度按时间ie3xauqp1#
为了返回所有与查询字符串匹配的
Sections
(按其名称或其关联Type
的名称),可以使用.joins
查询来联接Section
和Type
表,然后使用.where
子句搜索匹配的记录,如下所示: