查询 ActiveRecord 语法
Posted
技术标签:
【中文标题】查询 ActiveRecord 语法【英文标题】:Querying ActiveRecord Syntax 【发布时间】:2021-11-10 20:50:11 【问题描述】:我正在处理一项任务,我必须定义一个将某些内容附加到数据库中的列的函数,但是我很新,尽管查看了 ActiveRecord 文档,但我似乎无法掌握我要查找的列。
例如,我有一个包含许多列的表,包括“状态”和“阶段”,我可以使用以下代码获取状态:
CaseFileStatus.where(state: case_file.state).first
但是我现在无法以某种方式抓住“阶段”列,如下所示。
CaseFileStatus.where(state: "case_file.phase")
CaseFileStatus Load (2.5ms) SELECT "case_file_statuses".* FROM "case_file_statuses" WHERE "case_file_statuses"."state" = $1 [["state", "case_file.phase"]]
=> []
我确定这是一个超级基本的错误,但我应该如何构造这个查询呢?
【问题讨论】:
"case_file.state" 是一个字符串,你需要一个变量,所以省略双引号 【参考方案1】:如果您需要根据phase
列查询记录,您应该这样做:
CaseFileStatus.where(phase: case_file.phase)
【讨论】:
以上是关于查询 ActiveRecord 语法的主要内容,如果未能解决你的问题,请参考以下文章
Learn Rails5.2-- ActiveRecord, Query查询语法。
动态 Active Record 查询中的 Codeigniter 括号
CodeIgniter Active Record 查询 WITH/ 子查询